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>
34 lines
894 B
YAML
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
|