Installation et déploiement
Guide étape par étape pour déployer OpenPrivateDrive sur votre propre infrastructure privée.
01 Recommandé : déploiement Docker
La méthode la plus rapide et fiable pour déployer OpenPrivateDrive est d’utiliser Docker Compose. Cela garantit que toutes les dépendances (LibreOffice, FFmpeg, etc.) sont correctement configurées.
SECRET_KEY='long-random-secret' ADMIN_PASSWORD='strong-admin-password' docker compose up -d --build Détails après déploiement
- URL:
http://server-ip:5350 - Administrateur par défaut:
admin - Mot de passe : La valeur de
ADMIN_PASSWORD - Données persistantes:
./data/instance,./data/storage,./data/logs
02 Déploiement manuel
Pour les déploiements Linux bare-metal ou personnalisés (Ubuntu 22.04+ recommandé), suivez ces étapes :
git clone https://github.com/christophe-cremieux/openprivatedrive.git
cd openprivatedrive
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt Requis pour les aperçus et les miniatures
sudo apt update
sudo apt install libreoffice ffmpeg python3-magic flask db upgrade
# L’utilisateur admin est créé automatiquement au premier démarrage avec .env
python run.py 4. Production avec Gunicorn + Nginx
En production, exécutez l’application via Gunicorn derrière un reverse proxy Nginx avec SSL activé.
gunicorn --workers 3 --bind 127.0.0.1:5100 run:app 03 Configuration de l’environnement
Créez un fichier .env à la racine du projet pour configurer le comportement de l’application :
| Variable | Description |
|---|---|
| SECRET_KEY | Longue chaîne aléatoire pour signer les sessions. |
| ADMIN_PASSWORD | Mot de passe de l’utilisateur initial "admin". |
| STORAGE_PATH | Chemin absolu vers le stockage privé des fichiers. |
| DATABASE_URL | Chaîne de connexion SQLAlchemy (SQLite pris en charge). |
| FLASK_ENV | Définir sur "production" pour les environnements en ligne. |
| SESSION_COOKIE_SECURE | Définir sur "True" lorsque le site fonctionne en HTTPS. |
04 Sauvegarde et restauration
Les sauvegardes régulières sont essentielles. La base SQLite et le stockage physique doivent être sauvegardés ensemble afin de garantir la cohérence des données.
Docker Sauvegarde et restauration Docker
Utilisez ces scripts sur la machine hôte pour gérer les données de votre déploiement Docker :
bash scripts/docker_backup.sh bash scripts/docker_restore.sh my_backup.tar.gz Ces scripts sauvegardent ensemble la base SQLite et les volumes de stockage physique afin de préserver la cohérence des données.
Manuel Sauvegarde et restauration manuelles
Pour les installations manuelles, utilisez les scripts génériques de sauvegarde et de restauration :
bash scripts/backup.sh bash scripts/restore.sh my_backup.tar.gz 05 Checklist de sécurité
- Changez ADMIN_PASSWORD immédiatement après la première connexion.
- Forcez HTTPS via Nginx et définissez SESSION_COOKIE_SECURE=True.
- Utilisez une chaîne longue et aléatoire pour SECRET_KEY.
- Auditez régulièrement les liens publics depuis le tableau de bord administrateur.
- Définissez des politiques d’extensions autorisées dans les paramètres administrateur.
- Vérifiez que STORAGE_PATH n’est pas accessible depuis le serveur web.
06 Dépannage et fonctionnalités
Problèmes fréquents
- Aperçus absents : Vérifiez que
libreofficeetffmpegsont installés. - Erreurs d’upload : Vérifiez
MAX_CONTENT_LENGTHetclient_max_body_sizedans Nginx. - Base de données verrouillée : Assurez-vous qu’un seul processus accède au fichier SQLite.
Fonctionnalités clés à retenir
- Initialisation de l’admin : Le compte administrateur est créé au premier démarrage.
- Gestion des mots de passe : Liens de réinitialisation pour les utilisateurs et changement en libre-service.
- Contrôle des uploads : Blocage des extensions selon les politiques et limitation des liens.
- Chiffrement complet : Uploads de dossiers et fichiers à connaissance nulle pris en charge.
Vous rencontrez un problème d’installation ?
Notre équipe peut prendre en charge le déploiement complet, le durcissement de sécurité et la configuration des sauvegardes.