-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
109 lines (90 loc) · 4.79 KB
/
Copy path.env.example
File metadata and controls
109 lines (90 loc) · 4.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# =================================================================
# Suddenly - Configuration
# =================================================================
# Copiez ce fichier vers .env et modifiez les valeurs
# cp .env.example .env
# =================================================================
# REQUIS - Vous DEVEZ modifier ces valeurs
# =================================================================
# Domaine de votre instance (sans https://)
DOMAIN=suddenly.example.com
# Clé secrète Django (générez-en une unique !)
# Générer avec : python -c "import secrets; print(secrets.token_urlsafe(50))"
SECRET_KEY=CHANGEZ-MOI-UTILISEZ-UNE-CLE-UNIQUE-ET-LONGUE
# Mot de passe PostgreSQL
POSTGRES_PASSWORD=changez-moi-mot-de-passe-fort
# =================================================================
# OPTIONNEL - Valeurs par défaut généralement OK
# =================================================================
# Base de données
POSTGRES_USER=suddenly
POSTGRES_DB=suddenly
# Chaîne de connexion Postgres effectivement lue par config/settings/production.py
# Avec docker-compose, elle est calculée automatiquement à partir des 3 variables
# POSTGRES_* ci-dessus (voir docker-compose.yml) — vous n'avez rien à faire.
# En déploiement PaaS (Railway...) sans docker-compose, DATABASE_URL est en général
# injectée automatiquement par la plateforme (ex. plugin Postgres Railway).
# Ne la définissez manuellement que pour un déploiement VPS sans docker-compose :
# DATABASE_URL=postgres://user:password@host:5432/dbname
# Hôtes autorisés (protection contre les attaques Host header)
# Par défaut : uniquement DOMAIN ci-dessus. Séparez plusieurs valeurs par des virgules.
# ALLOWED_HOSTS=suddenly.example.com,www.suddenly.example.com
# Debug (NE JAMAIS activer en production)
DEBUG=false
# Email (notifications ET récupération de mot de passe)
# ⚠️ Sans EMAIL_HOST, les e-mails (dont le lien « Mot de passe oublié ? »)
# sont silencieusement ignorés : la récupération de mot de passe ne
# fonctionnera pas tant que le SMTP n'est pas configuré.
# EMAIL_HOST=smtp.example.com
# EMAIL_PORT=587
# EMAIL_HOST_USER=
# EMAIL_HOST_PASSWORD=
# EMAIL_USE_TLS=true
# DEFAULT_FROM_EMAIL=noreply@suddenly.example.com
# Connexion via le Fediverse (« Se connecter avec Mastodon »)
# Fonctionne avec toute instance compatible Mastodon (Mastodon, Pleroma,
# Akkoma, GoToSocial, Pixelfed). Aucune inscription d'application requise :
# les clients OAuth sont enregistrés à la volée par instance.
# FEDIVERSE_LOGIN_ENABLED=1
# FEDIVERSE_APP_NAME=Suddenly
# =================================================================
# AVANCÉ - Ne modifiez que si vous savez ce que vous faites
# =================================================================
# Redis (si vous utilisez un Redis externe)
# REDIS_URL=redis://redis:6379/0
# Sentry (monitoring des erreurs)
# SENTRY_DSN=
# Limite d'upload (en Mo)
# MAX_UPLOAD_SIZE=10
# Niveau de log Django en production (défaut : INFO)
# DJANGO_LOG_LEVEL=INFO
# Domaine public Railway — injecté automatiquement par Railway, rien à faire ici.
# Ajouté à ALLOWED_HOSTS et CSRF_TRUSTED_ORIGINS si présent.
# RAILWAY_PUBLIC_DOMAIN=
# Stockage média S3/Cloudflare R2 (optionnel — fallback filesystem local si absent)
# Sans AWS_STORAGE_BUCKET_NAME, les médias (avatars...) restent sur le disque local du serveur
# AWS_STORAGE_BUCKET_NAME=mon-bucket-suddenly
# AWS_S3_ENDPOINT_URL=https://<account_id>.r2.cloudflarestorage.com
# "auto" est une convention propre à Cloudflare R2 — un vrai AWS S3 doit indiquer une région réelle (ex. eu-west-3)
# AWS_S3_REGION_NAME=auto
# AWS_ACCESS_KEY_ID=
# AWS_SECRET_ACCESS_KEY=
#
# IMPORTANT : le bucket/binding R2 doit être accessible en lecture publique (Public Dev URL
# ou domaine personnalisé), sinon les avatars retournent une 403 aux autres instances fédérées
# malgré un upload réussi. querystring_auth=False et file_overwrite=False sont volontairement
# codés en dur dans production.py (non configurables via env) : les URLs doivent rester stables
# et non expirantes car les instances distantes mettent en cache icon.url.
#
# Les avatars déjà uploadés avant l'activation de S3/R2 ne sont PAS migrés automatiquement —
# les utilisateurs concernés doivent re-uploader leur avatar une fois.
# =================================================================
# MUSES (hub IA — optionnel)
# =================================================================
# Seam client vers le hub suddenly-muses (#76). Laissé désactivé, toutes les
# features Muses se comportent en mode dégradé (#88) : elles n'apparaissent pas
# et ne débitent rien. Activez uniquement si votre instance est reliée au hub.
# SUDDENLY_MUSES_ENABLED=1
# SUDDENLY_MUSES_URL=https://muse.suddenly.social
# SUDDENLY_MUSES_API_KEY=
# SUDDENLY_MUSES_TIMEOUT=30