From 0f340d9a8d2b0e4f9bf8042d4d22469a14e44a79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antoni=20Nu=C3=B1ez=20Romeu?= Date: Wed, 22 Jul 2026 13:04:37 +0200 Subject: [PATCH] Fixed dockerfile --- Dockerfile | 13 +++++++------ docker-entrypoint.sh | 5 +++++ 2 files changed, 12 insertions(+), 6 deletions(-) create mode 100644 docker-entrypoint.sh diff --git a/Dockerfile b/Dockerfile index 8f0bf44..3973c44 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,21 +2,22 @@ FROM node:18-slim AS base WORKDIR /app # Install dumb-init for proper signal handling -RUN apt-get update && apt-get install -y --no-install-recommends dumb-init && rm -rf /var/lib/apt/lists/* +RUN apt-get update && \ + apt-get install -y --no-install-recommends dumb-init && \ + rm -rf /var/lib/apt/lists/* # Copy dependency manifests first (layer cache) COPY package.json package-lock.json* ./ RUN npm ci --omit=dev && npm cache clean --force -# Copy application code +# Copy application code and entrypoint COPY src/ ./src/ +COPY docker-entrypoint.sh /usr/local/bin/ +RUN chmod +x /usr/local/bin/docker-entrypoint.sh -# Create data directory for SQLite RUN mkdir -p /app/data EXPOSE 8000 -USER node - ENTRYPOINT ["dumb-init", "--"] -CMD ["node", "src/index.js"] +CMD ["docker-entrypoint.sh"] diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh new file mode 100644 index 0000000..fee9326 --- /dev/null +++ b/docker-entrypoint.sh @@ -0,0 +1,5 @@ +#!/bin/sh +# Fix ownership of data directory (volume mounts may be root-owned) +chown -R node:node /app/data +# Drop to node user and run the app +exec su -s /bin/sh -c "exec node src/index.js" node