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.
28 lines
901 B
YAML
28 lines
901 B
YAML
services:
|
|
web:
|
|
build: .
|
|
# 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
|
|
|
|
api:
|
|
build: ./backend
|
|
environment:
|
|
- PORT=8000
|
|
- DB_PATH=/app/data/app.db
|
|
# Set these as env vars on the Coolify app to switch from demo fixtures
|
|
# to live data. Empty -> the backend serves fixtures.
|
|
- NAPTA_API_TOKEN=${NAPTA_API_TOKEN:-}
|
|
- NAPTA_BASE_URL=${NAPTA_BASE_URL:-https://app.napta.io/api/v1}
|
|
- SLACK_BOT_TOKEN=${SLACK_BOT_TOKEN:-}
|
|
volumes:
|
|
- ./data:/app/data
|
|
# Internal only — the web (nginx) service reaches it at http://api:8000 on
|
|
# the compose network. Not published to the host.
|
|
expose:
|
|
- "8000"
|