feat: pipeline CI + Docker pour déploiement sur sonic

- Dockerfile multi-stage (node:20 build + nginx:alpine serve)
- nginx.conf SPA avec try_files et gzip
- docker-compose.yml avec labels Registrator/Fabio (SERVICE_80_CHECK_TCP)
- .woodpecker.yml : validate, security-check, build-image, SBOM, write-env,
  test-env, deploy (stop→acme→up), test-deploy, healthcheck
- .gitignore : ajout .env et /.reports/

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
syoul
2026-03-22 20:02:24 +01:00
parent 94474fc007
commit debb4cf8ec
5 changed files with 239 additions and 0 deletions

18
docker-compose.yml Normal file
View File

@@ -0,0 +1,18 @@
name: ${COMPOSE_PROJECT_NAME:-syoul-g1flux-main}
services:
app:
image: g1flux:latest
container_name: ${COMPOSE_PROJECT_NAME:-syoul-g1flux-main}-app
restart: always
labels:
- SERVICE_80_NAME=${COMPOSE_PROJECT_NAME:-syoul-g1flux-main}-app-80
- SERVICE_80_TAGS=urlprefix-${APP_DOMAIN}/*
- SERVICE_80_CHECK_TCP=true
- LETSENCRYPT_HOST=${APP_DOMAIN}
networks:
- sonic
networks:
sonic:
external: true