From b605e0cd4fabb0dab5e5f3a5a473c3d0c3ffd83d Mon Sep 17 00:00:00 2001 From: Boban Blaskovic Date: Sun, 31 May 2026 23:37:04 +0200 Subject: [PATCH] Move dev bind-mounts to docker-compose.override.yml (keep Portainer stack clean) docker-compose.yml no longer contains ./app:/var/www/html bind-mounts. Local dev bind-mounts live in docker-compose.override.yml which docker compose CLI auto-merges but Portainer does not read (Portainer uses either docker-compose.yml or docker-compose.portainer.yml). This prevents future Portainer 'Limited' state caused by CLI deploys overwriting Portainer-managed containers. --- docker-compose.override.yml | 38 +++++++++++++++++++++++++++++++++++++ docker-compose.yml | 6 ------ 2 files changed, 38 insertions(+), 6 deletions(-) create mode 100644 docker-compose.override.yml diff --git a/docker-compose.override.yml b/docker-compose.override.yml new file mode 100644 index 0000000..c5b8f35 --- /dev/null +++ b/docker-compose.override.yml @@ -0,0 +1,38 @@ +# Local dev overrides — auto-merged by `docker compose` CLI on this host. +# Portainer uses docker-compose.yml or docker-compose.portainer.yml only; +# it never reads this file, so the Portainer stack stays clean. +# +# What this adds: +# - bind-mount ./app:/var/www/html on PHP services + nginx +# so vite HMR + code edits propagate without image rebuild. +# +# To run only the Portainer-shape compose locally (without bind-mounts): +# docker compose -f docker-compose.yml up -d +# +# To run with the override: +# docker compose up -d (auto-loads docker-compose.override.yml) + +services: + nginx: + volumes: + - ./app:/var/www/html + + app: + volumes: + - ./app:/var/www/html + - app-storage:/var/www/html/storage + + queue: + volumes: + - ./app:/var/www/html + - app-storage:/var/www/html/storage + + scheduler: + volumes: + - ./app:/var/www/html + - app-storage:/var/www/html/storage + + reverb: + volumes: + - ./app:/var/www/html + - app-storage:/var/www/html/storage diff --git a/docker-compose.yml b/docker-compose.yml index f9ce827..7e5316f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -50,8 +50,6 @@ services: - "${HTTP_PORT:-80}:80" extra_hosts: - "host.docker.internal:host-gateway" - volumes: - - ./app:/var/www/html depends_on: app: condition: service_started @@ -71,7 +69,6 @@ services: restart: unless-stopped environment: *php-env volumes: - - ./app:/var/www/html - app-storage:/var/www/html/storage depends_on: mysql: @@ -88,7 +85,6 @@ services: command: php artisan queue:work --tries=3 --timeout=120 environment: *php-env volumes: - - ./app:/var/www/html - app-storage:/var/www/html/storage depends_on: mysql: @@ -107,7 +103,6 @@ services: command: php artisan schedule:work environment: *php-env volumes: - - ./app:/var/www/html - app-storage:/var/www/html/storage depends_on: mysql: @@ -124,7 +119,6 @@ services: command: php artisan reverb:start --host=0.0.0.0 --port=8080 environment: *php-env volumes: - - ./app:/var/www/html - app-storage:/var/www/html/storage depends_on: redis: