diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 376b0f08..77286bcb 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -65,7 +65,21 @@ jobs: platforms: linux/amd64,linux/arm64 push: true tags: | + coderaiser/cloudcmd:alpine coderaiser/cloudcmd:latest-alpine coderaiser/cloudcmd:${{ steps.build.outputs.version }}-alpine ghcr.io/${{ github.repository }}:latest-alpine ghcr.io/${{ github.repository }}:${{ steps.build.outputs.version }}-alpine + - name: Build and push slim-image + uses: docker/build-push-action@v5 + with: + context: . + file: docker/Dockerfile.slim + platforms: linux/amd64,linux/arm64 + push: true + tags: | + coderaiser/cloudcmd:slim + coderaiser/cloudcmd:latest-slim + coderaiser/cloudcmd:${{ steps.build.outputs.version }}-slim + ghcr.io/${{ github.repository }}-slim + ghcr.io/${{ github.repository }}:${{ steps.build.outputs.version }}-slim diff --git a/docker/Dockerfile b/docker/Dockerfile index 1549b724..7d72a368 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,4 +1,4 @@ -FROM node:lts-bookworm +FROM node LABEL maintainer="Coderaiser" LABEL org.opencontainers.image.source="https://github.com/coderaiser/cloudcmd" @@ -9,7 +9,7 @@ COPY package.json /usr/src/app/ RUN curl -fsSL https://bun.com/install | bash && \ ~/.bun/bin/bun i --production --no-save && \ - PATH=$PATH:~/.bun/bin bun i gritty --no-save && \ + PATH=$PATH:~/.bun/bin bun i --production gritty --no-save && \ ~/.bun/bin/bun pm cache rm COPY . /usr/src/app diff --git a/docker/Dockerfile.slim b/docker/Dockerfile.slim new file mode 100644 index 00000000..e551e9fd --- /dev/null +++ b/docker/Dockerfile.slim @@ -0,0 +1,25 @@ +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 curl -fsSL https://bun.com/install | bash && \ + ~/.bun/bin/bun i --production --no-save && \ + PATH=$PATH:~/.bun/bin bun i gritty --no-save && \ + ~/.bun/bin/bun pm cache rm + +COPY . /usr/src/app + +WORKDIR / + +ENV cloudcmd_terminal=true +ENV cloudcmd_terminal_path=gritty +ENV cloudcmd_open=false + +EXPOSE 8000 + +ENTRYPOINT ["/usr/src/app/bin/cloudcmd.js"]