Replace the separate CMS subdomain with path-based routing in Caddy: /admin and /uploads go to Strapi, everything else to the frontend. Strapi 5 nests its whole admin panel (UI and API) under /admin, so this one prefix is enough and never collides with the frontend's own /api routes. Drops CMS_DOMAIN and the unused STRAPI_URL env var on the cms service; PUBLIC_STRAPI_URL now points at the same origin as the site. Authentication is unchanged: Strapi's own admin login still gates the panel, this only changes how it's reached.
20 lines
594 B
YAML
20 lines
594 B
YAML
# Local testing without domains or TLS: publishes the app ports on localhost and
|
|
# leaves Caddy out. Never used in production — it must be passed explicitly:
|
|
# docker compose -f docker-compose.yml -f docker-compose.dev.yml up -d --build cms frontend
|
|
services:
|
|
database:
|
|
ports:
|
|
- "127.0.0.1:5432:5432"
|
|
|
|
cms:
|
|
ports:
|
|
- "127.0.0.1:1337:1337"
|
|
|
|
frontend:
|
|
ports:
|
|
- "127.0.0.1:3000:3000"
|
|
environment:
|
|
NUXT_PUBLIC_SITE_URL: http://localhost:3000
|
|
NUXT_PUBLIC_STRAPI_URL: http://localhost:1337
|
|
NUXT_PUBLIC_I18N_BASE_URL: http://localhost:3000
|