From f35676f3473e358f3778095c2dcf9cb7f1e1d644 Mon Sep 17 00:00:00 2001 From: Tom Moor Date: Fri, 14 Jun 2024 15:51:38 -0400 Subject: [PATCH] Switch from Alpine -> Debian-slim (#7040) * Switch from Alpine -> Debian-slim * Drop arm/v6 --- .circleci/config.yml | 6 +++--- Dockerfile | 9 ++++----- Dockerfile.base | 2 +- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 451a77910..17dc29537 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -126,7 +126,7 @@ jobs: docker buildx install docker context create docker-multiarch docker run --rm --privileged multiarch/qemu-user-static --reset -p yes - docker buildx create --name docker-multiarch --platform linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64/v8,linux/ppc64le,linux/s390x docker-multiarch + docker buildx create --name docker-multiarch --platform linux/amd64,linux/arm/v7,linux/arm64/v8,linux/ppc64le,linux/s390x docker-multiarch docker buildx inspect --builder docker-multiarch --bootstrap docker buildx use docker-multiarch - run: @@ -142,9 +142,9 @@ jobs: name: Build and push Docker image command: | if [[ "$CIRCLE_TAG" == *"-"* ]]; then - docker buildx build -t $IMAGE_NAME:${CIRCLE_TAG/v/''} --platform linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64/v8,linux/ppc64le,linux/s390x --push . + docker buildx build -t $IMAGE_NAME:${CIRCLE_TAG/v/''} --platform linux/amd64,linux/arm/v7,linux/arm64/v8,linux/ppc64le,linux/s390x --push . else - docker buildx build -t $IMAGE_NAME:latest -t $IMAGE_NAME:${CIRCLE_TAG/v/''} --platform linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64/v8,linux/ppc64le,linux/s390x --push . + docker buildx build -t $IMAGE_NAME:latest -t $IMAGE_NAME:${CIRCLE_TAG/v/''} --platform linux/amd64,linux/arm/v7,linux/arm64/v8,linux/ppc64le,linux/s390x --push . fi workflows: diff --git a/Dockerfile b/Dockerfile index eaca276e8..520f147c3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,9 +5,7 @@ ARG APP_PATH WORKDIR $APP_PATH # --- -FROM node:20-alpine AS runner - -RUN apk update && apk add --no-cache curl && apk add --no-cache ca-certificates +FROM node:20-slim AS runner LABEL org.opencontainers.image.source="https://github.com/outline/outline" @@ -22,8 +20,9 @@ COPY --from=base $APP_PATH/.sequelizerc ./.sequelizerc COPY --from=base $APP_PATH/node_modules ./node_modules COPY --from=base $APP_PATH/package.json ./package.json -RUN addgroup -g 1001 -S nodejs && \ - adduser -S nodejs -u 1001 && \ +# Create a non-root user compatible with Debian and BusyBox based images +RUN addgroup --gid 1001 nodejs && \ + adduser --uid 1001 --ingroup nodejs nodejs && \ chown -R nodejs:nodejs $APP_PATH/build && \ mkdir -p /var/lib/outline && \ chown -R nodejs:nodejs /var/lib/outline diff --git a/Dockerfile.base b/Dockerfile.base index 02318b151..4f621d42f 100644 --- a/Dockerfile.base +++ b/Dockerfile.base @@ -1,5 +1,5 @@ ARG APP_PATH=/opt/outline -FROM node:20-alpine AS deps +FROM node:20-slim AS deps ARG APP_PATH WORKDIR $APP_PATH