From d39f0ce7182c71ba8d4f7466040fac19fc169d51 Mon Sep 17 00:00:00 2001 From: Mike Binder Date: Wed, 4 Nov 2026 20:20:27 +0000 Subject: [PATCH 1/2] Installer: make code and dashboard readable by the service A copy from a Mac can carry owner-only files (favicon.svg arrived as 600), which made the logger answer PermissionError. The installer now sets root ownership and world-readable permissions on netlogger/ and web/dist every run. --- install.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/install.sh b/install.sh index 0d7a437..04b96fe 100755 --- a/install.sh +++ b/install.sh @@ -259,6 +259,10 @@ if [ ! -f "$APP_DIR/web/dist/index.html" ]; then || die "Couldn't get the dashboard. Install Node 20+ (apt install nodejs npm) and run this again." fi fi +# Code and dashboard are owned by root and readable by the service, whatever permissions +# they arrived with (a copy from a Mac can carry owner-only files) +chown -R root:root "$APP_DIR/netlogger" "$APP_DIR/web/dist" +chmod -R u=rwX,go=rX "$APP_DIR/netlogger" "$APP_DIR/web/dist" ok "dashboard ready" # Settings: sized to this machine, kept on later runs From 84f4f2707fde3ca7d286e77c7b5e1de4973596f7 Mon Sep 17 00:00:00 2001 From: Mike Binder Date: Wed, 4 Nov 2026 20:20:36 +0000 Subject: [PATCH 2/2] Keep the Docker image on Python 3.11 Dependabot moved it to 3.15, which CI never tests and the speech libraries may not ship for yet. Match what servers run and stop Dependabot proposing Python version jumps. --- .github/dependabot.yml | 4 ++++ Dockerfile | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 290dca1..d537e0d 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -15,3 +15,7 @@ updates: - package-ecosystem: docker directory: / schedule: { interval: monthly } + ignore: + # Python stays on the version servers run (Debian 12 ships 3.11). Move it on purpose. + - dependency-name: python + update-types: ["version-update:semver-major", "version-update:semver-minor"] diff --git a/Dockerfile b/Dockerfile index 2089a50..68442f4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,7 +7,7 @@ COPY web/ ./ RUN npm run build # Stage 2: the logger -FROM python:3.15-slim +FROM python:3.11-slim LABEL org.opencontainers.image.title="Net Logger" \ org.opencontainers.image.description="Receive-only check-in logger for AllStar ham radio nets" \