3. Préparation du dossier sur le NAS
Avant de déployer le stack Docker dans Portainer, vous devez créer la structure de dossiers sur votre NAS et y déposer les fichiers nécessaires.
3.1 Structure des dossiers
Via File Station sur votre NAS Synology, créez la structure suivante :
/volume1/docker/votrebot/
├── bot.py ← fichier principal du bot
├── requirements.txt ← dépendances Python
├── .env ← configuration et tokens
├── .gitignore
├── img/
│ ├── marvin.png ← avatar du bot (dashboard)
│ └── … ← images classement mensuel
└── backups/ ← sauvegardes automatiques
3.2 Télécharger les fichiers
Téléchargez l’archive Marvin OS et déposez les fichiers dans le dossier créé via File Station ou via un client SFTP (FileZilla, Cyberduck…).
Retrouvez les fichiers ici :
3.3 Configurer le fichier .env
Le fichier .env contient toutes les informations sensibles de votre installation. Créez ce fichier à la racine du dossier marvin avec le contenu suivant :
| 💻 Code / Configuration | 🖥️ Correspondance Dashboard |
| # === OBLIGATOIRE === DISCORD_TOKEN=votre_token_ici MY_USER_ID=votre_id_discord SECRET_KEY=cle_aleatoire_32_caracteres # === OPTIONNEL : EMAIL === MAIL_SERVER=smtp.gmail.com MAIL_PORT=587 MAIL_USERNAME=votre@email.com MAIL_PASSWORD=mot_de_passe_app MAIL_RECEIVER=admin@email.com | DISCORD_TOKEN Récupéré à l’étape 2.4 (Reset Token). Ne jamais partager ou versionner ce fichier. MY_USER_ID Votre ID Discord personnel. Clic droit sur votre avatar → Copier l’identifiant (mode développeur actif). SECRET_KEY Clé de chiffrement des sessions du dashboard. Générez-en une avec : python -c « import secrets; print(secrets.token_hex(32)) » ou utilisez le générateur de la page. Email (optionnel mais recommandé) Permet la récupération de mot de passe du dashboard. Sans cette config, un bandeau d’avertissement s’affiche dans le dashboard. |
Générateur de clé sécurisée (32 octets)
Équivalent Python : secrets.token_hex(32)
🛡️ Note de sécurité : La clé est générée localement sur votre navigateur via l’API Web Crypto.
Rien n’est envoyé ou stocké sur notre site. Une fois la page fermée, la clé est perdue.
⚠️ SECRET_KEY obligatoire
La SECRET_KEY signe et chiffre les sessions Flask du dashboard. Elle doit être longue, aléatoire et ne jamais être exposée publiquement. Sans elle, le dashboard refusera de démarrer.
3.4 Activer le mode développeur Discord
Pour récupérer votre MY_USER_ID ainsi que les IDs de salons dont vous aurez besoin lors de la configuration, activez le mode développeur dans Discord :
- Ouvrez Discord → Paramètres utilisateur (engrenage)
- Allez dans Avancé
- Activez le Mode développeur
Vous pourrez ensuite faire clic droit sur n’importe quel utilisateur, salon ou serveur pour copier son identifiant.


