🚀 Installation et déploiement de PrivateBin avec Docker Compose¶
PrivateBin est une solution légère et sécurisée pour échanger des messages chiffrés directement dans le navigateur, sans laisser de traces sur le serveur.
✅ Prérequis¶
Avant de commencer, assurez-vous que :
- Docker est installé (Guide officiel)
- Docker Compose est installé (Guide officiel)
- Vous avez une connexion internet pour télécharger les images Docker
- Les ports nécessaires sont ouverts sur votre machine (ici le port
9160)
1️⃣ Configuration du service PrivateBin¶
Le service utilise l’image Docker privatebin/nginx-fpm-alpine:latest, qui combine Nginx et PHP-FPM pour exécuter PrivateBin.
Points clés :¶
- Port d’accès : Le port
9160de l’hôte est mappé au port8080du conteneur. - Volumes Docker : Plusieurs volumes Docker assurent la persistance des données et fichiers temporaires, évitant toute perte à chaque redémarrage.
- Variables d’environnement : Vous pouvez définir un mot de passe d’administration via la variable
PRIVATEBIN_PASSWORD. - Redémarrage automatique : Le conteneur redémarre automatiquement en cas d’erreur ou d’arrêt.
2️⃣ Lancement du service¶
Étapes :¶
-
Placez le fichier
docker-compose.yml(exemple en fin de doc) dans un répertoire dédié. -
Ouvrez un terminal dans ce répertoire et exécutez :
docker-compose up -d
Cette commande va télécharger l’image, créer les volumes et lancer le conteneur en arrière-plan.
- Vérifiez que le conteneur est bien lancé :
docker-compose ps
Le conteneur privatebin doit apparaître avec le port 9160 exposé.
3️⃣ Accès à l’interface PrivateBin¶
Ouvrez votre navigateur et rendez-vous à l’adresse suivante :
http://localhost:9160
4️⃣ Personnalisation¶
- Mot de passe administrateur : Modifiez la variable
PRIVATEBIN_PASSWORDdans le fichierdocker-compose.ymlpour définir un mot de passe sécurisé. - Modification du port : Changez la ligne
portsdans le fichierdocker-compose.ymlsi le port9160est déjà utilisé. - Volumes : Les volumes assurent la persistance des données et doivent être conservés pour garder vos données intactes.
5️⃣ Gestion du conteneur¶
| Action | Commande |
|---|---|
| Arrêter le service | docker-compose down |
| Visualiser les logs | docker-compose logs -f |
| Redémarrer le service | docker-compose restart |
6️⃣ Volumes Docker utilisés¶
| Volume | Description |
|---|---|
privatebin_data |
Données principales de PrivateBin |
privatebin_var_lib_nginx_tmp |
Fichiers temporaires Nginx |
privatebin_tmp |
Répertoire temporaire général |
privatebin_srv_data |
Données spécifiques aux services |
privatebin_run |
Fichiers temporaires runtime |
7️⃣ Sécurité¶
- Changez impérativement la variable
PRIVATEBIN_PASSWORDpour un mot de passe fort. - Gardez vos volumes Docker pour préserver vos données.
8️⃣ Exemple de fichier docker-compose.yml¶
version: '3.8'
services:
privatebin:
image: privatebin/nginx-fpm-alpine:latest
volumes:
- privatebin_data:/data
- privatebin_var_lib_nginx_tmp:/var/lib/nginx/tmp
- privatebin_tmp:/tmp
- privatebin_srv_data:/srv/data
- privatebin_run:/run
environment:
- PRIVATEBIN_PASSWORD=<votre_mot_de_passe>
- PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/srv/bin
- CONFIG_PATH=/srv/cfg
working_dir: /var/www
restart: always
ports:
- "9160:8080"
volumes:
privatebin_data:
privatebin_var_lib_nginx_tmp:
privatebin_tmp:
privatebin_srv_data:
privatebin_run:
✅ Conclusion¶
Vous avez désormais une instance PrivateBin sécurisée, avec persistance des données, facile à déployer et à gérer via Docker Compose.