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

View file

@ -0,0 +1,34 @@
name: Deploy info-canicule
on:
push:
branches: [main]
jobs:
deploy:
runs-on: docker
container:
image: alpine:3.20
steps:
- name: Install tooling
run: apk add --no-cache openssh-client git rsync
- name: Configure SSH
run: |
mkdir -p ~/.ssh
echo "${{ secrets.DEPLOY_SSH_KEY }}" > ~/.ssh/id_ed25519
chmod 600 ~/.ssh/id_ed25519
echo "${{ secrets.VPS_KNOWN_HOSTS }}" > ~/.ssh/known_hosts
chmod 644 ~/.ssh/known_hosts
- name: Deploy on VPS
run: |
ssh deploy@vps.nocleus.com bash -se <<'EOSSH'
set -euo pipefail
cd /opt/projects/info-canicule
git fetch --prune origin main
git reset --hard origin/main
make env
docker compose up -d --build --wait
docker image prune -f
EOSSH