From 663e2ac8798de0e7a3d4260080f31e15cce59295 Mon Sep 17 00:00:00 2001 From: Joseph Hale Date: Tue, 17 Feb 2026 14:41:56 -0700 Subject: [PATCH] Fix permission error by moving logs to user-writable location MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Non-root users cannot write to /var/log. Move all log files to /home/joseph (/tmp by default) so the container works when running with custom UID/GID permissions. Changes: - speedtest.log: /var/log/ → /home/joseph/ - cron.log: /var/log/ → /home/joseph/ - Added fallback for speedtest-cli.json copy (handles both root and non-root cases) --- entrypoint.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/entrypoint.sh b/entrypoint.sh index 0c6370c..ae9d3c8 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -4,7 +4,7 @@ set -e # Setup home directory for current user export HOME=${HOME:-/tmp} mkdir -p "$HOME/.config/ookla" -cp /tmp/speedtest-cli.json "$HOME/.config/ookla/" +cp "$HOME/speedtest-cli.json" "$HOME/.config/ookla/" 2>/dev/null || cp /tmp/speedtest-cli.json "$HOME/.config/ookla/" # Setup cron job CRON_SCHEDULE="${CRON_SCHEDULE:-*/30 * * * *}" @@ -12,10 +12,10 @@ echo "Setting up speedtest cron job with schedule: $CRON_SCHEDULE" # Create crontab file for current user mkdir -p /tmp/crontabs -echo "$CRON_SCHEDULE /app/speedtest_runner.sh >> /var/log/speedtest.log 2>&1" > /tmp/crontabs/speedtest +echo "$CRON_SCHEDULE /app/speedtest_runner.sh >> $HOME/speedtest.log 2>&1" > /tmp/crontabs/speedtest # Create log file -touch /var/log/speedtest.log +touch "$HOME/speedtest.log" # Generate initial HTML page (before nginx starts) /app/generate_html.sh @@ -29,4 +29,4 @@ NGINX_PID=$! # Start cron in foreground (using busybox crond with user crontab) echo "Starting cron daemon..." -crond -f -l 8 -L /var/log/cron.log -c /tmp/crontabs +crond -f -l 8 -L "$HOME/cron.log" -c /tmp/crontabs -- 2.51.2