diff --git a/_regroup_monorepo/apps/server/Dockerfile.alpine b/_regroup_monorepo/apps/server/Dockerfile.alpine index 88a450723..5e1642de7 100644 --- a/_regroup_monorepo/apps/server/Dockerfile.alpine +++ b/_regroup_monorepo/apps/server/Dockerfile.alpine @@ -22,28 +22,4 @@ RUN npm ci && \ # currently copy-dist will copy certain node_module folders, but in the Dockerfile we delete them again (to keep image size down), # as we install necessary dependencies in runtime buildstage anyways -# Runtime stage -FROM node:22.14.0-alpine - -# Install runtime dependencies -RUN apk add --no-cache su-exec shadow - -WORKDIR /usr/src/app - -COPY --from=builder /usr/src/app ./ - -RUN sed -i "/electron/d" package.json && \ - npm ci --omit=dev && \ - node --experimental-strip-types ./bin/cleanupNodeModules.ts . --skip-prune-dev-deps && \ - npm cache clean --force && \ - rm -rf \ - /tmp/node-compile-cache \ - /usr/src/app/bin/cleanupNodeModules.ts - -# Add application user -RUN adduser -s /bin/false node; exit 0 - -# Configure container -EXPOSE 8080 -CMD [ "./start-docker.sh" ] -HEALTHCHECK --start-period=10s CMD exec su-exec node node docker_healthcheck.js \ No newline at end of file +# Runtime stage \ No newline at end of file diff --git a/apps/server/Dockerfile b/apps/server/Dockerfile new file mode 100644 index 000000000..6ab36fba5 --- /dev/null +++ b/apps/server/Dockerfile @@ -0,0 +1,17 @@ +FROM node:22.14.0-alpine + +# Install runtime dependencies +RUN apk add --no-cache su-exec shadow + +WORKDIR /usr/src/app + +COPY /apps/server/dist /usr/src/app +COPY /apps/server/start-docker.sh /usr/src/app + +# Add application user +RUN adduser -s /bin/false node; exit 0 + +# Configure container +EXPOSE 8080 +CMD [ "sh", "./start-docker.sh" ] +HEALTHCHECK --start-period=10s CMD exec su-exec node node docker_healthcheck.js \ No newline at end of file diff --git a/apps/server/package.json b/apps/server/package.json index d732e711b..c5c90c302 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -152,6 +152,12 @@ ] } ] + }, + "docker-build": { + "dependsOn": [ + "build" + ], + "command": "docker build -f apps/server/Dockerfile . -t triliumnext" } } } diff --git a/_regroup/start-docker.sh b/apps/server/start-docker.sh similarity index 88% rename from _regroup/start-docker.sh rename to apps/server/start-docker.sh index e3f93f807..448f4950d 100644 --- a/_regroup/start-docker.sh +++ b/apps/server/start-docker.sh @@ -4,4 +4,4 @@ [ ! -z "${USER_GID}" ] && groupmod -og ${USER_GID} node || echo "No USER_GID specified, leaving 1000" chown -R node:node /home/node -exec su -c "node ./src/main" node \ No newline at end of file +exec su -c "node ./main" node \ No newline at end of file