fix(deploy): use expose instead of host ports for Coolify compose

Coolify honors host port bindings in the compose and the host already has :80
(its own proxy) and :8000 allocated, so publishing them fails the deploy at
container start. Switch web/api to expose-only; nginx still reaches api over the
compose network, and Coolify routes the domain via docker_compose_domains. Add a
docker-compose.override.yml so local 'docker compose up' still publishes ports.
This commit is contained in:
Julien Calixte
2026-06-26 15:36:14 +01:00
parent 528251f176
commit 645bd6ff27
4 changed files with 22 additions and 5 deletions

View File

@@ -1,8 +1,11 @@
services:
web:
build: .
ports:
- "80:80"
# No host port binding: Coolify's proxy routes the domain to this service
# over the internal network (see docker_compose_domains). Host bindings
# would collide with Coolify's own :80 / other apps on the host.
expose:
- "80"
depends_on:
- api
@@ -18,5 +21,7 @@ services:
- SLACK_BOT_TOKEN=${SLACK_BOT_TOKEN:-}
volumes:
- ./data:/app/data
ports:
- "8000:8000"
# Internal only — the web (nginx) service reaches it at http://api:8000 on
# the compose network. Not published to the host.
expose:
- "8000"