diff --git a/Dockerfile b/Dockerfile index 41b113b..4ab2449 100644 --- a/Dockerfile +++ b/Dockerfile @@ -18,6 +18,11 @@ RUN chmod +x /app/awp-cli RUN apk add --no-cache cronie +# Install the crontab: runs `./awp-cli check` every 2 minutes, +# logging output to /app/logs/cron.log (logs/ is mounted at runtime). +COPY crontab.txt /app/crontab.txt +RUN crontab /app/crontab.txt + # NOTE: static/, players.json, .env, and logs/ are no longer copied # into the image. They're mounted at runtime via docker-compose.yml # so they live on the host and persist/update independently of the image. @@ -26,5 +31,6 @@ RUN apk add --no-cache cronie #EXPOSE 8080 EXPOSE 3000 -# Set the default command -CMD crond & /app/areweplaying +# crond forks into the background on its own (daemon mode), then +# areweplaying takes over as PID 1 via exec so it gets signals properly. +CMD crond && exec /app/areweplaying diff --git a/crontab.txt b/crontab.txt new file mode 100644 index 0000000..e7b3ec4 --- /dev/null +++ b/crontab.txt @@ -0,0 +1 @@ +*/2 * * * * cd /app && ./awp-cli check >> /app/logs/cron.log 2>&1