diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1c2d8584..fcaa78d5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -22,7 +22,7 @@ jobs: with: mysql database: 'pigallery_test' mysql root password: 'password' - mysql user: 'user' + mysql user: 'user' mysql password: 'password' - uses: actions/checkout@v4 - name: Use Node.js ${{ matrix.node-version }} @@ -100,12 +100,10 @@ jobs: needs: [ create-release ] strategy: matrix: - container: [alpine, debian-buster, debian-bullseye, debian-bookworm ] + container: [alpine, debian-bullseye, debian-bookworm ] include: - container: alpine platforms: linux/amd64,linux/arm64,linux/arm/v7 - - container: debian-buster - platforms: linux/amd64,linux/arm64,linux/arm/v7 - container: debian-bullseye platforms: linux/amd64,linux/arm64,linux/arm/v7 - container: debian-bookworm diff --git a/docker/debian-bookworm/Dockerfile.build b/docker/debian-bookworm/Dockerfile.build index 87fd6b4b..46f96eb1 100644 --- a/docker/debian-bookworm/Dockerfile.build +++ b/docker/debian-bookworm/Dockerfile.build @@ -1,6 +1,6 @@ #-----------------BUILDER----------------- #----------------------------------------- -FROM node:18.19-bookworm AS builder +FROM node:18-bookworm AS builder RUN apt update && apt install -y --no-install-recommends libvips-dev python3 COPY pigallery2-release /app WORKDIR /app diff --git a/docker/debian-bullseye/Dockerfile.build b/docker/debian-bullseye/Dockerfile.build index a737ca7d..0f67807b 100644 --- a/docker/debian-bullseye/Dockerfile.build +++ b/docker/debian-bullseye/Dockerfile.build @@ -1,6 +1,6 @@ #-----------------BUILDER----------------- #----------------------------------------- -FROM node:18.19-bullseye AS builder +FROM node:18-bullseye AS builder RUN apt update && apt install -y --no-install-recommends libvips-dev python3 COPY pigallery2-release /app WORKDIR /app diff --git a/docker/debian-buster/selfcontained/Dockerfile b/docker/debian-bullseye/selfcontained/Dockerfile similarity index 96% rename from docker/debian-buster/selfcontained/Dockerfile rename to docker/debian-bullseye/selfcontained/Dockerfile index c4e38a1b..6badfec2 100644 --- a/docker/debian-buster/selfcontained/Dockerfile +++ b/docker/debian-bullseye/selfcontained/Dockerfile @@ -1,6 +1,6 @@ #-----------------BUILDER----------------- #----------------------------------------- -FROM node:18-buster AS builder +FROM node:18-bullseye AS builder # LABEL maintainer="Patrik J. Braun" # copying only package{-lock}.json to make node_modules cachable RUN git clone https://github.com/bpatrik/pigallery2.git /build @@ -16,7 +16,7 @@ RUN npm install --unsafe-perm \ #-----------------MAIN-------------------- #----------------------------------------- -FROM node:18-buster-slim AS main +FROM node:18-bullseye-slim AS main WORKDIR /app ENV NODE_ENV=production \ # overrides only the default value of the settings (the actualy value can be overwritten through config.json) diff --git a/docker/debian-buster/Dockerfile.build b/docker/debian-buster/Dockerfile.build deleted file mode 100644 index a05f7009..00000000 --- a/docker/debian-buster/Dockerfile.build +++ /dev/null @@ -1,44 +0,0 @@ -#-----------------BUILDER----------------- -#----------------------------------------- -FROM node:18.19-buster AS builder -RUN apt update && apt install -y --no-install-recommends libvips-dev python3 -COPY pigallery2-release /app -WORKDIR /app -RUN npm install --unsafe-perm --fetch-timeout=90000 -RUN mkdir -p /app/data/config && \ - mkdir -p /app/data/db && \ - mkdir -p /app/data/images && \ - mkdir -p /app/data/tmp - - -#-----------------MAIN-------------------- -#----------------------------------------- -FROM node:18-buster-slim AS main -WORKDIR /app -ENV NODE_ENV=production \ - # overrides only the default value of the settings (the actualy value can be overwritten through config.json) - default-Database-dbFolder=/app/data/db \ - default-Media-folder=/app/data/images \ - default-Media-tempFolder=/app/data/tmp \ - default-Extensions-folder=/app/data/config/extensions \ - # flagging dockerized environemnt - PI_DOCKER=true - -EXPOSE 80 -RUN apt-get update \ - && apt-get install -y --no-install-recommends ca-certificates wget ffmpeg libvips42 \ - && apt-get clean -q -y \ - && rm -rf /var/lib/apt/lists/* -COPY --from=builder /app /app -VOLUME ["/app/data/config", "/app/data/db", "/app/data/images", "/app/data/tmp"] - -# Run build time diagnostics to make sure the app would work after build is finished -RUN ["node", "./src/backend/index", "--expose-gc", "--run-diagnostics", "--config-path=/app/diagnostics-config.json"] -HEALTHCHECK --interval=40s --timeout=30s --retries=3 --start-period=60s \ - CMD wget --quiet --tries=1 --no-check-certificate --spider \ - http://127.0.0.1:80/heartbeat || exit 1 - -# after a extensive job (like video converting), pigallery calls gc, to clean up everthing as fast as possible -# Exec form entrypoint is need otherwise (using shell form) ENV variables are not properly passed down to the app -ENTRYPOINT ["node", "./src/backend/index", "--expose-gc", "--config-path=/app/data/config/config.json"] -