From e4dcf0da5b46805305c44ad03b2abff0bb07dc6c Mon Sep 17 00:00:00 2001 From: pkirillw Date: Thu, 18 Jun 2026 00:41:51 +0300 Subject: [PATCH] fix(docker): align www-data UID/GID with host (1000:1000) php-fpm runs workers as www-data, so master stays root and drops to a UID matching host files. storage bind-mount is writable without runtime chmod hacks. Co-Authored-By: Claude Opus 4.7 --- .gitea/workflows/deploy.yml | 3 +-- Dockerfile | 8 +++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index f0347a8..44bcc43 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -26,8 +26,7 @@ jobs: cd /home/pkirillw/dockered-services/max-bot-test && git pull origin main else cd /home/pkirillw/dockered-services && git clone https://git.pkirillw-server.ru/pkirillw/max-bot-test.git - fi - chmod -R 777 /home/pkirillw/dockered-services/max-bot-test/storage" + fi" - name: Create .env file env: diff --git a/Dockerfile b/Dockerfile index 1f08ae6..b75511c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,13 +1,19 @@ FROM php:8.4-fpm-alpine AS base +ARG HOST_UID=1000 +ARG HOST_GID=1000 + RUN apk add --no-cache \ libzip-dev \ zlib-dev \ unzip \ git \ curl \ + shadow \ && docker-php-ext-install zip pcntl \ - && curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer + && curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \ + && groupmod -g $HOST_GID www-data \ + && usermod -u $HOST_UID -g $HOST_GID www-data WORKDIR /var/www/html