- docker/app.Dockerfile : une image Rust + Svelte, la construction rejoue toute la boucle (fmt, clippy -D warnings, tests, svelte-check, vitest) ; utilisateur non-root, volume /data. docker/app-compose.yml pour sonic (fabio). - .woodpecker/app.yml : produit sur decision.librodrome.org, attend la maquette, écarte tout conteneur qui revendique encore la racine, healthcheck du commit. - .woodpecker/maquette.yml (ex .woodpecker.yml) : la maquette v2 telle quelle, sur maquette.decision.librodrome.org, mêmes volumes. - .env.example de la maquette rangé dans maquette/ ; celui de la v3 à la racine. - Docs : README, CONTRIBUTING (travail à deux), CLAUDE.md v3, HANDOFF, docs/chantiers (feuille de route, fiche, contrôles, onboarding de Chiara, demande à poka), docs/adr 0001–0006. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
50 lines
1.1 KiB
Bash
50 lines
1.1 KiB
Bash
# PostgreSQL
|
|
POSTGRES_DB=libredecision
|
|
POSTGRES_USER=libredecision
|
|
POSTGRES_PASSWORD=change-me-in-production
|
|
DATABASE_URL=postgresql+asyncpg://libredecision:change-me-in-production@localhost:5432/libredecision
|
|
|
|
# Backend
|
|
SECRET_KEY=change-me-in-production-with-a-real-secret-key
|
|
DEBUG=true
|
|
|
|
# Environment: development, staging, production
|
|
ENVIRONMENT=development
|
|
|
|
# Logging: DEBUG, INFO, WARNING, ERROR
|
|
LOG_LEVEL=INFO
|
|
|
|
# CORS
|
|
CORS_ORIGINS=["http://localhost:3002"]
|
|
|
|
# Database connection pool
|
|
DATABASE_POOL_SIZE=20
|
|
DATABASE_MAX_OVERFLOW=10
|
|
|
|
# Auth / Sessions
|
|
SESSION_TTL_HOURS=24
|
|
CHALLENGE_EXPIRE_SECONDS=300
|
|
|
|
# Rate limiting (requests per minute)
|
|
RATE_LIMIT_DEFAULT=60
|
|
RATE_LIMIT_AUTH=10
|
|
RATE_LIMIT_VOTE=30
|
|
|
|
# Duniter V2 RPC
|
|
DUNITER_RPC_URL=wss://gdev.p2p.legal/ws
|
|
DUNITER_RPC_TIMEOUT_SECONDS=10
|
|
|
|
# Blockchain cache TTL (seconds)
|
|
BLOCKCHAIN_CACHE_TTL_SECONDS=3600
|
|
|
|
# IPFS
|
|
IPFS_API_URL=http://localhost:5001
|
|
IPFS_GATEWAY_URL=http://localhost:8080
|
|
IPFS_TIMEOUT_SECONDS=30
|
|
|
|
# Frontend
|
|
NUXT_PUBLIC_API_BASE=http://localhost:8002/api/v1
|
|
|
|
# Docker / Production
|
|
DOMAIN=decision.librodrome.org
|