docker-compose.business.yml: - Suppression version: obsolete et ports: (Fabio gère le routing) - Ajout labels SERVICE_3000_* pour Registrator/Consul/Fabio - Ajout LETSENCRYPT_HOST pour sonic-acme-1 - Ajout réseau sonic (externe, partagé avec la stack) .woodpecker.yml: - Ajout write-env (RADAR_DOMAIN depuis secret, séparé car from_secret + volumes incompatibles) - Ajout TLS acme.sh dans deploy (idempotent, exit 2 = skip) - Healthcheck sur https://RADAR_DOMAIN (100s max) Secret Woodpecker à créer : radar_domain Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
31 lines
1.0 KiB
YAML
31 lines
1.0 KiB
YAML
services:
|
|
radar-business:
|
|
container_name: laplank-radar-technolologique
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.business
|
|
pull: true
|
|
args:
|
|
BUILD_DATE: "${BUILD_DATE:-$(date +%s)}"
|
|
BUILD_VERSION: "${BUILD_VERSION:-dev}"
|
|
CACHE_BUST: "${CACHE_BUST:-$(date +%s%N)}"
|
|
restart: unless-stopped
|
|
environment:
|
|
- NODE_ENV=production
|
|
labels:
|
|
# Registrator lit l'IP du conteneur depuis le reseau "sonic" (-useIpFromNetwork sonic)
|
|
# et enregistre le service dans Consul avec le tag urlprefix- -> Fabio route vers ce service
|
|
- SERVICE_3000_NAME=laplank-radar-business
|
|
- SERVICE_3000_TAGS=urlprefix-${RADAR_DOMAIN}/
|
|
- SERVICE_3000_CHECK_TCP=true
|
|
# sonic-acme-1 (acme-companion) emet le cert TLS et le copie dans /host/certs/
|
|
# Fabio le detecte automatiquement par SNI pour HTTPS
|
|
- LETSENCRYPT_HOST=${RADAR_DOMAIN}
|
|
networks:
|
|
- sonic
|
|
|
|
networks:
|
|
sonic:
|
|
# Reseau externe existant sur le serveur (partage avec Registrator/Consul/Fabio)
|
|
external: true
|