ajout du modele pour les variables env
EBO <eric@ebii.fr> committé le 2026-10-02 22:04
0b922e07a6501b01985abc459f59c6b628f5bed8
1 parent(s)
1 fichiers modifiés
+142
-0
A
env.sample
+142
-0
@@ -0,0 +1,142 @@
| 1 | +# ============================================================================= | |
| 2 | +# Rustwarden — Variables d'environnement | |
| 3 | +# ============================================================================= | |
| 4 | + | |
| 5 | +# Base de données | |
| 6 | +DATABASE_URL=postgres://rustwarden_user:password@localhost:5432/rustwarden | |
| 7 | + | |
| 8 | +# Serveur | |
| 9 | +SERVER_HOST=0.0.0.0 | |
| 10 | +SERVER_PORT=3000 | |
| 11 | + | |
| 12 | +# Logging | |
| 13 | +RUST_LOG=debug | |
| 14 | + | |
| 15 | +# JWT | |
| 16 | +JWT_SECRET=your-super-secret-jwt-key-change-this-in-production-minimum-32-characters | |
| 17 | +JWT_EXPIRATION_MINUTES=15 | |
| 18 | +JWT_ISSUER=rustwarden | |
| 19 | + | |
| 20 | +# Comportement du middleware d'auth sur préfixe protégé sans credentials valides | |
| 21 | +# (RFC 0042). `redirect` : 303 vers LOGIN_PATH (UI). `json401` : 401 JSON (API). | |
| 22 | +# Précédence : setter `.auth_failure_mode(..)` du builder > cette variable > | |
| 23 | +# bascule `.headless()` (json401) > redirect. | |
| 24 | +# AUTH_FAILURE_MODE=redirect | |
| 25 | +# Chemin de la page de login pour la redirection (défaut /login). | |
| 26 | +# LOGIN_PATH=/login | |
| 27 | + | |
| 28 | +# Refresh tokens | |
| 29 | +REFRESH_TOKEN_EXPIRATION_DAYS=7 | |
| 30 | +# Durée du refresh token avec "Se souvenir de moi" (doit être >= REFRESH_TOKEN_EXPIRATION_DAYS, max 90) | |
| 31 | +# REMEMBER_ME_EXPIRATION_DAYS=30 | |
| 32 | + | |
| 33 | +# Sessions | |
| 34 | +SESSION_SECRET=your-super-secret-session-key-change-this-in-production-minimum-64-characters | |
| 35 | +SESSION_TIMEOUT_MINUTES=30 | |
| 36 | +SESSION_BACKEND=memory | |
| 37 | + | |
| 38 | +# Redis (si SESSION_BACKEND=redis) | |
| 39 | +REDIS_URL=redis://localhost:6379 | |
| 40 | + | |
| 41 | +# Rate Limiting | |
| 42 | +RATE_LIMIT_LOGIN_PER_MINUTE=5 | |
| 43 | +RATE_LIMIT_REFRESH_PER_MINUTE=10 | |
| 44 | +RATE_LIMIT_GENERAL_PER_MINUTE=100 | |
| 45 | + | |
| 46 | +# Cookies | |
| 47 | +COOKIE_SECURE=false | |
| 48 | +COOKIE_SAME_SITE=Lax | |
| 49 | + | |
| 50 | +# Admin initial | |
| 51 | +ADMIN_USERNAME=admin | |
| 52 | +ADMIN_EMAIL=admin@localhost | |
| 53 | +ADMIN_PASSWORD=ChangeMe123! | |
| 54 | + | |
| 55 | +# Email SMTP | |
| 56 | +SMTP_HOST=localhost | |
| 57 | +SMTP_PORT=143 # 587 pour TLS, | |
| 58 | +SMTP_USER=noreply@rustwarden.local | |
| 59 | +SMTP_PASSWORD= | |
| 60 | +SMTP_FROM=noreply@rustwarden.local | |
| 61 | +SMTP_FROM_NAME=My App | |
| 62 | +SMTP_USE_TLS=false # true pour TLS, false pour SSL | |
| 63 | +SMTP_USE_STARTTLS=true | |
| 64 | +SMTP_ACCEPT_INVALID_CERTS=false | |
| 65 | +# SMTP_CA_CERT_PATH= | |
| 66 | + | |
| 67 | +# Email base URL (used in email links) | |
| 68 | +EMAIL_BASE_URL=http://localhost:3000 | |
| 69 | + | |
| 70 | +# Email queue | |
| 71 | +EMAIL_QUEUE_BATCH_SIZE=10 | |
| 72 | +EMAIL_QUEUE_RETRY_ATTEMPTS=5 | |
| 73 | +EMAIL_QUEUE_RETRY_DELAY_SECONDS=300 | |
| 74 | + | |
| 75 | +# Email features control | |
| 76 | +EMAIL_VALIDATION_REQUIRED=true | |
| 77 | +ALLOW_REGISTRATION=false | |
| 78 | + | |
| 79 | +# Application | |
| 80 | +APP_NAME=My App | |
| 81 | +# APP_THEME=light | |
| 82 | +# APP_DEBUG=true in development (disables forced COOKIE_SECURE, enables relaxed cookie names) | |
| 83 | +APP_DEBUG=false | |
| 84 | +DEFAULT_LOCALE=fr | |
| 85 | + | |
| 86 | +# IMAP (bounce processing — optional, leave IMAP_HOST empty to disable) | |
| 87 | +# IMAP_HOST= | |
| 88 | +# IMAP_PORT=993 | |
| 89 | +# IMAP_USER= | |
| 90 | +# IMAP_PASSWORD= | |
| 91 | +# IMAP_USE_TLS=true | |
| 92 | +# IMAP_USE_STARTTLS=false | |
| 93 | +# IMAP_ACCEPT_INVALID_CERTS=false | |
| 94 | +# IMAP_MAILBOX=INBOX | |
| 95 | +# IMAP_POLL_INTERVAL_SECONDS=300 | |
| 96 | + | |
| 97 | +# ============================================================================= | |
| 98 | +# CORS — origines front autorisées (séparées par des virgules) | |
| 99 | +# ============================================================================= | |
| 100 | +# Vide = aucun CorsLayer monté. Exemple : | |
| 101 | +# CORS_ALLOWED_ORIGINS=https://app.example.org,https://admin.example.org | |
| 102 | +# CORS_ALLOWED_ORIGINS= | |
| 103 | + | |
| 104 | +# ============================================================================= | |
| 105 | +# Fédération ActivityPub (feature Cargo : `experimental-fediverse`) | |
| 106 | +# ============================================================================= | |
| 107 | +# Active uniquement si l'app est compilée avec `--features experimental-fediverse` | |
| 108 | +# et appelle `RustwardenBuilder::with_fediverse(...)` au démarrage. | |
| 109 | +# Cf. crates/rustwarden-core/src/config/fediverse.rs et | |
| 110 | +# docs/rfcs/0001-fediverse-config-and-builder.md | |
| 111 | +# | |
| 112 | +# Domaine fédéré (OBLIGATOIRE si la feature est active). | |
| 113 | +# - Forme bare ("example.org") → toujours promu en HTTPS. | |
| 114 | +# - Forme URL ("https://example.org" ou "http://localhost:3000") acceptée : | |
| 115 | +# le schéma http n'est autorisé qu'avec FEDIVERSE_DEBUG_LOCAL_FEDERATION=true. | |
| 116 | +# - Les placeholders connus (example.com, your.tld, change-me.tld, …) sont | |
| 117 | +# refusés au démarrage. | |
| 118 | +# FEDIVERSE_DOMAIN=fediverse.example.org | |
| 119 | + | |
| 120 | +# Authorized Fetch (mode "secure" Mastodon) : impose une signature HTTP sur | |
| 121 | +# tous les GET d'acteurs/objets entrants. Recommandé en production. | |
| 122 | +# Défaut : false. | |
| 123 | +# FEDIVERSE_AUTHORIZED_FETCH=false | |
| 124 | + | |
| 125 | +# File de livraison sortante ActivityPub. | |
| 126 | +# Nombre de workers concurrents (défaut 4). | |
| 127 | +# FEDIVERSE_OUTBOUND_WORKERS=4 | |
| 128 | +# Tentatives max avant qu'un job soit marqué `dead` (défaut 8). | |
| 129 | +# FEDIVERSE_OUTBOUND_MAX_ATTEMPTS=8 | |
| 130 | +# Timeout HTTP par requête sortante, en secondes (défaut 30). | |
| 131 | +# FEDIVERSE_OUTBOUND_REQUEST_TIMEOUT_SECS=30 | |
| 132 | + | |
| 133 | +# TTL du cache des documents acteurs distants, en secondes (défaut 86400 = 24h). | |
| 134 | +# FEDIVERSE_FETCH_ACTOR_CACHE_TTL_SECS=86400 | |
| 135 | + | |
| 136 | +# TTL des challenges d'authentification fédérée AP-native (RFC 0006), | |
| 137 | +# en secondes (défaut 300 = 5 min). | |
| 138 | +# FEDIVERSE_AUTH_CHALLENGE_TTL_SECS=300 | |
| 139 | + | |
| 140 | +# Mode debug local : autorise les base URLs HTTP (tests 2-instances en local). | |
| 141 | +# DOIT rester `false` en production. Défaut : false. | |
| 142 | +# FEDIVERSE_DEBUG_LOCAL_FEDERATION=false |
GitRust