init: info-canicule MVP (Vigilance + climato + conseils)

Astro 5 SSR + ioredis cache Valkey, déployable sur shared-net.
- Vigilance temps réel via Opendatasoft (no-auth, LOv2)
- Carte SVG des 96 départements (gregoiredavid/france-geojson)
- Climato T° 30j par dept (CSV.GZ Météo France, cache 24h)
- Conseils officiels par phénomène (7 types Vigilance)
- /api/health (UptimeRobot) + /api/vigilance (JSON public CORS *)
- Dockerfile multi-stage, CI Forgejo deploy.yml (pattern Reteno)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Florian 2026-05-25 18:17:56 +02:00
commit e075d963bc
37 changed files with 6730 additions and 0 deletions

30
docker-compose.yml Normal file
View file

@ -0,0 +1,30 @@
# Compose de PROD côté VPS — déployé dans /opt/projects/info-canicule/.
# Le service rejoint le réseau shared-net pour atteindre `valkey:6379`.
# En dev local, utiliser `pnpm dev` directement (Valkey local optionnel).
services:
app:
build:
context: .
dockerfile: Dockerfile
image: info-canicule:latest
container_name: info-canicule-app
restart: unless-stopped
env_file: .env
environment:
- NODE_ENV=production
- PORT=4321
- HOST=0.0.0.0
networks:
- shared-net
mem_limit: 256m
cpus: 0.5
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
networks:
shared-net:
external: true