From 9dd3947cb7c6c1cee4bdeab561b56d40115aff3b Mon Sep 17 00:00:00 2001 From: orangecoding Date: Thu, 2 Oct 2025 09:37:01 +0200 Subject: [PATCH] reverting docker file changes, adding script to test things locally --- Dockerfile | 15 ++++----------- docker-test.sh | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+), 11 deletions(-) create mode 100644 docker-test.sh diff --git a/Dockerfile b/Dockerfile index 8a8bd7f..a9ef1b2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,15 +8,11 @@ RUN apt-get update \ && apt-get install -y --no-install-recommends chromium curl \ && rm -rf /var/lib/apt/lists/* -# Use predefined node user (UID 1000, GID 1000) -# Set home directory ownership for node user -RUN usermod -d /fredy node - ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true \ PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium # Copy lockfiles first to leverage cache for dependencies -COPY --chown=node:node package.json yarn.lock . +COPY package.json yarn.lock . # Set Yarn timeout, install dependencies and PM2 globally RUN yarn config set network-timeout 600000 \ @@ -24,13 +20,13 @@ RUN yarn config set network-timeout 600000 \ && yarn global add pm2 # Copy application source and build production assets -COPY --chown=node:node . . +COPY . . RUN yarn build:frontend # Prepare runtime directories and symlinks for data and config RUN mkdir -p /db /conf \ - && chown -R node:node /fredy /db /conf \ - && chmod 755 /db /conf \ + && chown 1000:1000 /db /conf \ + && chmod 777 /db /conf \ && ln -s /db /fredy/db \ && ln -s /conf /fredy/conf @@ -38,8 +34,5 @@ EXPOSE 9998 VOLUME /db VOLUME /conf -# Switch to non-root user -USER node - # Start application using PM2 runtime CMD ["pm2-runtime", "index.js"] diff --git a/docker-test.sh b/docker-test.sh new file mode 100644 index 0000000..65888c4 --- /dev/null +++ b/docker-test.sh @@ -0,0 +1,18 @@ +#!/bin/sh +set -e + +# Stop and remove old container if it exists +if [ "$(docker ps -aq -f name=fredy)" ]; then + docker stop fredy || true + docker rm fredy || true +fi + +# Build image from local Dockerfile +docker build -t fredy:local . + +# Run container with volumes and port mapping +docker run -d --name fredy \ + -v fredy_conf:/conf \ + -v fredy_db:/db \ + -p 9998:9998 \ + fredy:local