From e5b221f7ac3f7291c130a48e765ef8fb306705ab Mon Sep 17 00:00:00 2001 From: coderaiser Date: Sun, 22 Mar 2026 13:59:35 +0000 Subject: [PATCH] feature: docker: io: add --- .github/workflows/docker.yml | 12 ++++++++++++ docker/Dockerfile.io | 30 ++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 docker/Dockerfile.io diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 77286bcb..dcc05a6f 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -83,3 +83,15 @@ jobs: coderaiser/cloudcmd:${{ steps.build.outputs.version }}-slim ghcr.io/${{ github.repository }}-slim ghcr.io/${{ github.repository }}:${{ steps.build.outputs.version }}-slim + - name: Build and push io-image + uses: docker/build-push-action@v5 + with: + context: . + file: docker/Dockerfile.slim + platforms: linux/amd64,linux/arm64 + push: true + tags: | + coderaiser/cloudcmd:io + coderaiser/cloudcmd:${{ steps.build.outputs.version }}-io + ghcr.io/${{ github.repository }}-io + ghcr.io/${{ github.repository }}:${{ steps.build.outputs.version }}-io diff --git a/docker/Dockerfile.io b/docker/Dockerfile.io new file mode 100644 index 00000000..f8269d96 --- /dev/null +++ b/docker/Dockerfile.io @@ -0,0 +1,30 @@ +FROM node +LABEL maintainer="Coderaiser" +LABEL org.opencontainers.image.source="https://github.com/coderaiser/cloudcmd" + +RUN mkdir -p /usr/src/app +WORKDIR /usr/src/app + +COPY package.json /usr/src/app/ + +RUN apt-get update && apt-get upgrade && apt-get autoremove && \ + apt-get install nc mc && \ + curl -fsSL https://bun.com/install | bash && \ + ~/.bun/bin/bun i --production && \ + ~/.bun/bin/bun add --no-save gritty && \ + ~/.bun/bin/bun pm cache rm && \ + echo "ALL ALL=(ALL) NOPASSWD: /usr/bin/apt-get install *" > /etc/sudoers.d/apt-install && \ + chmod 0440 /etc/sudoers.d/apt-install + +COPY . /usr/src/app + +WORKDIR / + +ENV cloudcmd_terminal=true +ENV cloudcmd_terminal_path=gritty +ENV cloudcmd_open=false +ENV PATH="/root/.bun/bin:$PATH" + +EXPOSE 8000 + +ENTRYPOINT ["/usr/src/app/bin/cloudcmd.js"]