From ff55e63caac79a80d9beca08a3979afb8326903b Mon Sep 17 00:00:00 2001 From: maziggy Date: Thu, 5 Feb 2026 11:33:05 +0100 Subject: [PATCH] Docker permissions fix: - Add user directive to docker-compose.yml using PUID/PGID env vars - Allows container to run as host user, fixing permission issues with bind-mounted volumes (e.g., ./virtual_printer) - Add chmod 777 to /app/data and /app/logs in Dockerfile for non-root compatibility - Usage: PUID=$(id -u) PGID=$(id -g) docker compose up -d Note: Existing named volumes (bambuddy_logs, bambuddy_data) created by previous root containers may need to be removed or have permissions fixed manually. --- Dockerfile | 3 ++- docker-compose.yml | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 0718b3fc1..58f0fbbb7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -37,7 +37,8 @@ COPY backend/ ./backend/ COPY --from=frontend-builder /app/static ./static # Create data directory for persistent storage -RUN mkdir -p /app/data /app/logs +# chmod 777 allows running as non-root user (e.g., with docker compose user: directive) +RUN mkdir -p /app/data /app/logs && chmod 777 /app/data /app/logs # Environment variables ENV PYTHONUNBUFFERED=1 diff --git a/docker-compose.yml b/docker-compose.yml index b82c50d5b..2bf08d112 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6,6 +6,9 @@ services: # docker compose up -d → pulls pre-built image from ghcr.io # docker compose up -d --build → builds locally from source container_name: bambuddy + # Run as current user to avoid permission issues with mounted volumes + # Override with: PUID=$(id -u) PGID=$(id -g) docker compose up -d + user: "${PUID:-1000}:${PGID:-1000}" # # LINUX: Use host mode for printer discovery and camera streaming network_mode: host