info-canicule/.forgejo/workflows/deploy.yml
Florian e075d963bc 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>
2026-05-25 18:17:56 +02:00

34 lines
894 B
YAML

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