feat: intégration Fabio/Consul/Registrator + TLS acme.sh
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>
This commit is contained in:
@@ -1,26 +1,30 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
radar-business:
|
||||
container_name: laplank-radar-technolologique
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile.business
|
||||
pull: true # Force le pull de l'image de base pour éviter le cache
|
||||
pull: true
|
||||
args:
|
||||
BUILD_DATE: "${BUILD_DATE:-$(date +%s)}"
|
||||
BUILD_VERSION: "${BUILD_VERSION:-dev}"
|
||||
CACHE_BUST: "${CACHE_BUST:-$(date +%s%N)}" # Nanosecondes pour garantir l'unicité et forcer l'invalidation
|
||||
# Note: no_cache n'est pas supporté dans docker-compose
|
||||
# Pour forcer le rebuild sans cache dans Portainer, utilisez l'option "Rebuild" avec "No cache" dans l'interface
|
||||
# Si vous utilisez une image pré-bâtie, décommentez image et commentez build
|
||||
# image: votre-registre/laplank-radar-business:latest
|
||||
CACHE_BUST: "${CACHE_BUST:-$(date +%s%N)}"
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "3006:3000" # Mappe le port 3006 de l'hôte vers le port 3000 du conteneur
|
||||
environment:
|
||||
- NODE_ENV=production
|
||||
# Optionnel : Persistance des logs si nécessaire
|
||||
# volumes:
|
||||
# - ./logs:/app/logs
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user