- Router api_v2.py (~100 endpoints) : tokens, users, workspaces/members, collections, pages, proprietes, vues/dashboards, commentaires/mentions, notifications, favoris/tags/recents, partage/publish, historique, sprints, templates, export/import, forges, recherche FTS, admin, webhooks CRUD - Helpers api_v2_helpers.py : Bearer unifie (sha256/expires_at/extension_devices), scopes hierarchiques read<write<admin, pagination + X-Total-Count, ISO-8601, RFC 7807, idempotence, audit, rate-limit par token - Migration 20 : api_tokens.scopes/expires_at, webhook_deliveries, api_audit_log, idempotency_keys - main.py : handler d'erreurs unifie StarletteHTTPException, /docs + /redoc - config : PUBLIC_API_INSECURE_OK (dev only), API_V2_RATE_LIMIT_PER_TOKEN - OpenAPI docs/openapi-v2.json (402 chemins), tests/test_public_api_v2.py (24) - Docs : CHANGELOG (v6.2.0/6.2.1 clipper + v6.3.0), ROADMAP, API_GUIDE_V6, V6_Web_Clipper, README, ARCHITECTURE, /help - Suite complete 668 verte, ruff OK
61 lines
1.8 KiB
Bash
61 lines
1.8 KiB
Bash
# ── Gitea ──
|
|
GITEA_URL=https://git.dracodev.net
|
|
GITEA_TOKEN=change-me
|
|
GITEA_OAUTH_CLIENT_ID=
|
|
GITEA_OAUTH_CLIENT_SECRET=
|
|
GITEA_WEBHOOK_SECRET=
|
|
|
|
# ── GitHub ──
|
|
GITHUB_OAUTH_CLIENT_ID=
|
|
GITHUB_OAUTH_CLIENT_SECRET=
|
|
|
|
# ── OAuth2 ──
|
|
# Laisser VIDE = redirect URI dynamique (dérivée du Host/X-Forwarded-* de la requête).
|
|
# Ne définir QUE si on veut forcer une URI exacte — elle DOIT être enregistrée
|
|
# dans l'application OAuth2 côté Gitea/GitHub (Settings → Applications).
|
|
# Exemple : OAUTH_REDIRECT_URI=https://flowdeck.dracodev.net/auth/callback
|
|
OAUTH_REDIRECT_URI=
|
|
|
|
# ── App ──
|
|
APP_SECRET_KEY=change-me-to-random
|
|
APP_HOST=0.0.0.0
|
|
APP_PORT=8080
|
|
LOG_LEVEL=INFO
|
|
DEFAULT_LANG=fr
|
|
|
|
# ── Database ──
|
|
# SQLite (default): sqlite:////data/flowdeck.db
|
|
# PostgreSQL (optional): postgresql://user:pass@host:5432/flowdeck
|
|
DATABASE_URL=sqlite:////data/flowdeck.db
|
|
|
|
# ── Sync ──
|
|
SYNC_INTERVAL=60
|
|
GITEA_CACHE_TTL=30
|
|
|
|
# ── Backups (v5.2.0) ──
|
|
# Sauvegarde automatique quotidienne du fichier SQLite (fichiers datés).
|
|
BACKUP_ENABLED=true
|
|
BACKUP_DIR=/data/backups
|
|
BACKUP_INTERVAL_HOURS=24
|
|
BACKUP_KEEP=30
|
|
|
|
# ── Forge projects sync (v5.2.0) ──
|
|
# Rafraîchissement périodique de la table `projects` depuis les forges connectées.
|
|
PROJECT_SYNC_ENABLED=true
|
|
PROJECT_SYNC_INTERVAL_HOURS=1
|
|
|
|
# ── Public API v2 (v6.3.0) ──
|
|
# PUBLIC_API_INSECURE_OK=true autorise le token de dev fd-public-key (jamais en prod).
|
|
PUBLIC_API_INSECURE_OK=false
|
|
API_V2_RATE_LIMIT_PER_TOKEN=300
|
|
|
|
# ── Email notifications (v4.9.0) ──
|
|
# Laisser SMTP_HOST vide = pas d'envoi d'email (seulement les notifications in-app).
|
|
SMTP_HOST=
|
|
SMTP_PORT=587
|
|
SMTP_USER=
|
|
SMTP_PASSWORD=
|
|
SMTP_FROM=FlowDeck <[email protected]>
|
|
SMTP_USE_TLS=true
|
|
APP_BASE_URL=http://localhost:8080
|