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>
39 lines
990 B
Makefile
39 lines
990 B
Makefile
.DEFAULT_GOAL := help
|
|
SHELL := /bin/bash
|
|
|
|
PASS_CLI ?= $(HOME)/.local/bin/pass-cli
|
|
|
|
.PHONY: help install dev build start env check up down logs restart
|
|
|
|
help: ## Show this help
|
|
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf " \033[36m%-12s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)
|
|
|
|
install: ## Install deps
|
|
pnpm install
|
|
|
|
dev: ## Run Astro dev server (needs REDIS_URL — falls back to graceful warnings)
|
|
pnpm dev
|
|
|
|
build: ## Build SSR bundle
|
|
pnpm build
|
|
|
|
start: ## Run built bundle locally
|
|
node ./dist/server/entry.mjs
|
|
|
|
check: ## Type-check (astro check)
|
|
pnpm check
|
|
|
|
env: ## Materialize .env from .env.tmpl via pass-cli
|
|
$(PASS_CLI) inject --in-file .env.tmpl --out-file .env --file-mode 0600
|
|
|
|
up: ## docker compose up -d --build --wait (prod-like)
|
|
docker compose up -d --build --wait
|
|
|
|
down: ## docker compose down
|
|
docker compose down
|
|
|
|
logs: ## docker compose logs -f
|
|
docker compose logs -f --tail=100
|
|
|
|
restart: ## docker compose restart app
|
|
docker compose restart app
|