Skip to content

🚀 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 9160 de l’hôte est mappé au port 8080 du 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 :

  1. Placez le fichier docker-compose.yml (exemple en fin de doc) dans un répertoire dédié.

  2. 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.

  1. 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_PASSWORD dans le fichier docker-compose.yml pour définir un mot de passe sécurisé.
  • Modification du port : Changez la ligne ports dans le fichier docker-compose.yml si le port 9160 est 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_PASSWORD pour 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.