refactor: domaines et router Traefik configurables par env vars
APP_ENV, DOMAIN_WEB, DOMAIN_WEB_ALT, DOMAIN_API, DOMAIN_PGADMIN permettent de déployer prod et dev sur le même Traefik sans conflit. CORS_ORIGINS aussi injecté directement dans le service api. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
06a5bf2ef8
commit
d08584704f
1 changed files with 16 additions and 17 deletions
|
|
@ -39,11 +39,11 @@ services:
|
|||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.docker.network=coolify
|
||||
- traefik.http.routers.pgadmin.rule=Host(`pgadmin.bm.nicolasfryder.ovh`)
|
||||
- traefik.http.routers.pgadmin.entrypoints=https
|
||||
- traefik.http.routers.pgadmin.tls=true
|
||||
- traefik.http.routers.pgadmin.tls.certresolver=letsencrypt
|
||||
- traefik.http.services.pgadmin.loadbalancer.server.port=80
|
||||
- traefik.http.routers.${APP_ENV:-prod}-pgadmin.rule=Host(`${DOMAIN_PGADMIN:-pgadmin.bm.nicolasfryder.ovh}`)
|
||||
- traefik.http.routers.${APP_ENV:-prod}-pgadmin.entrypoints=https
|
||||
- traefik.http.routers.${APP_ENV:-prod}-pgadmin.tls=true
|
||||
- traefik.http.routers.${APP_ENV:-prod}-pgadmin.tls.certresolver=letsencrypt
|
||||
- traefik.http.services.${APP_ENV:-prod}-pgadmin.loadbalancer.server.port=80
|
||||
|
||||
api:
|
||||
build:
|
||||
|
|
@ -52,17 +52,18 @@ services:
|
|||
PORT: "3000"
|
||||
DATABASE_URL: ${DATABASE_URL}
|
||||
BM_IMPORT_TOKEN: ${BM_IMPORT_TOKEN}
|
||||
CORS_ORIGINS: ${CORS_ORIGINS:-https://metalfrom.eu,https://www.metalfrom.eu}
|
||||
networks:
|
||||
- bm_internal
|
||||
- coolify
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.docker.network=coolify
|
||||
- traefik.http.routers.bm-api.rule=Host(`bm.nicolasfryder.ovh`)
|
||||
- traefik.http.routers.bm-api.entrypoints=https
|
||||
- traefik.http.routers.bm-api.tls=true
|
||||
- traefik.http.routers.bm-api.tls.certresolver=letsencrypt
|
||||
- traefik.http.services.bm-api.loadbalancer.server.port=3000
|
||||
- traefik.http.routers.${APP_ENV:-prod}-api.rule=Host(`${DOMAIN_API:-bm.nicolasfryder.ovh}`)
|
||||
- traefik.http.routers.${APP_ENV:-prod}-api.entrypoints=https
|
||||
- traefik.http.routers.${APP_ENV:-prod}-api.tls=true
|
||||
- traefik.http.routers.${APP_ENV:-prod}-api.tls.certresolver=letsencrypt
|
||||
- traefik.http.services.${APP_ENV:-prod}-api.loadbalancer.server.port=3000
|
||||
|
||||
web:
|
||||
build:
|
||||
|
|
@ -72,13 +73,11 @@ services:
|
|||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.docker.network=coolify
|
||||
- traefik.http.routers.bm-web.rule=Host(`metalfrom.eu`) || Host(`www.metalfrom.eu`)
|
||||
- traefik.http.routers.bm-web.entrypoints=https
|
||||
- traefik.http.routers.bm-web.tls=true
|
||||
- traefik.http.routers.bm-web.tls.certresolver=letsencrypt
|
||||
- traefik.http.routers.bm-web.tls.domains[0].main=metalfrom.eu
|
||||
- traefik.http.routers.bm-web.tls.domains[0].sans=www.metalfrom.eu
|
||||
- traefik.http.services.bm-web.loadbalancer.server.port=80
|
||||
- traefik.http.routers.${APP_ENV:-prod}-web.rule=Host(`${DOMAIN_WEB:-metalfrom.eu}`) || Host(`${DOMAIN_WEB_ALT:-www.metalfrom.eu}`)
|
||||
- traefik.http.routers.${APP_ENV:-prod}-web.entrypoints=https
|
||||
- traefik.http.routers.${APP_ENV:-prod}-web.tls=true
|
||||
- traefik.http.routers.${APP_ENV:-prod}-web.tls.certresolver=letsencrypt
|
||||
- traefik.http.services.${APP_ENV:-prod}-web.loadbalancer.server.port=80
|
||||
|
||||
worker:
|
||||
build:
|
||||
|
|
|
|||
Loading…
Reference in a new issue