OP OpenPrivateDrive
OP OpenPrivateDrive

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.

Commande de démarrage rapide
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 :

1. Clonage et dépendances
git clone https://github.com/christophe-cremieux/openprivatedrive.git
cd openprivatedrive
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
2. Dépendances système

Requis pour les aperçus et les miniatures

sudo apt update
sudo apt install libreoffice ffmpeg python3-magic
3. Initialiser l’application
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 :

Sauvegarde bash scripts/docker_backup.sh
Restauration 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 libreoffice et ffmpeg sont installés.
  • Erreurs d’upload : Vérifiez MAX_CONTENT_LENGTH et client_max_body_size dans 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.
Open Source & Self-Hosted

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.