Installation und Bereitstellung
Step-by-step guide to deploying OpenPrivateDrive on your own private infrastructure.
01 Empfohlen: Docker-Bereitstellung
Der schnellste und zuverlässigste Weg zur Bereitstellung von OpenPrivateDrive ist Docker Compose. So werden alle Abhängigkeiten (LibreOffice, FFmpeg usw.) korrekt konfiguriert.
SECRET_KEY='long-random-secret' ADMIN_PASSWORD='strong-admin-password' docker compose up -d --build Details nach der Bereitstellung
- URL:
http://server-ip:5350 - Standard-Admin:
admin - Passwort: Der Wert von
ADMIN_PASSWORD - Persistente Daten:
./data/instance,./data/storage,./data/logs
02 Manuelle Bereitstellung
Für Bare-Metal- oder angepasste Linux-Bereitstellungen (Ubuntu 22.04+ empfohlen) folgen Sie diesen Schritten:
git clone https://github.com/christophe-cremieux/openprivatedrive.git
cd openprivatedrive
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt Erforderlich für Vorschauen und Miniaturen
sudo apt update
sudo apt install libreoffice ffmpeg python3-magic flask db upgrade
# Admin user is auto-bootstrapped on first run using .env
python run.py 4. Produktion mit Gunicorn + Nginx
In Produktion läuft die App über Gunicorn hinter einem Nginx-Reverse-Proxy mit aktiviertem SSL.
gunicorn --workers 3 --bind 127.0.0.1:5100 run:app 03 Umgebungskonfiguration
Erstellen Sie eine .env Datei im Projektstamm, um das Verhalten der Anwendung zu konfigurieren:
| Variable | Beschreibung |
|---|---|
| SECRET_KEY | Lange Zufallszeichenfolge für Sitzungssignierung. |
| ADMIN_PASSWORD | Passwort für den ersten „admin“-Benutzer. |
| STORAGE_PATH | Absoluter Pfad zum privaten Dateispeicher. |
| DATABASE_URL | SQLAlchemy-Verbindungszeichenfolge (SQLite unterstützt). |
| FLASK_ENV | Für Live-Umgebungen auf „production“ setzen. |
| SESSION_COOKIE_SECURE | Bei HTTPS-Betrieb auf „True“ setzen. |
04 Backup und Wiederherstellung
Regelmäßige Backups sind entscheidend. Sowohl die SQLite-Datenbank als auch der physische Speicher müssen gemeinsam gesichert werden, um Konsistenz zu gewährleisten.
Docker Docker-Backup und -Wiederherstellung
Verwenden Sie diese Skripte auf dem Host, um Ihre Docker-basierten Daten zu verwalten:
bash scripts/docker_backup.sh bash scripts/docker_restore.sh my_backup.tar.gz Diese Skripte sichern aus Konsistenzgründen sowohl die SQLite-Datenbank als auch die physischen Speichervolumes gemeinsam.
Manual Manuelles Backup und Wiederherstellung
Für manuelle Installationen verwenden Sie die generischen Backup- und Wiederherstellung-Skripte:
bash scripts/backup.sh bash scripts/restore.sh my_backup.tar.gz 05 Sicherheitscheckliste
- Ändern Sie ADMIN_PASSWORD sofort nach der ersten Anmeldung.
- Erzwingen Sie HTTPS über Nginx und setzen Sie SESSION_COOKIE_SECURE=True.
- Verwenden Sie starke Zufallszeichenfolgen für SECRET_KEY.
- Prüfen Sie „Public Links“ regelmäßig im Admin-Dashboard.
- Legen Sie konkrete Upload-Erweiterungsrichtlinien in den Admin-Einstellungen fest.
- Stellen Sie sicher, dass STORAGE_PATH nicht über den Webserver erreichbar ist.
06 Fehlerbehebung und Funktionen
Häufige Probleme
- Vorschauen fehlen: Prüfen Sie, ob
libreofficeundffmpeginstalliert sind. - Upload-Fehler: Prüfen Sie
MAX_CONTENT_LENGTHund Nginxclient_max_body_size. - Datenbank gesperrt: Stellen Sie sicher, dass nur ein Prozess auf die SQLite-Datei zugreift.
Wichtige Funktionen
- Admin-Bootstrapping: Admin-Konto wird beim ersten Start erstellt.
- Passwortverwaltung: Reset-Links für Benutzer und Self-Service-Änderung.
- Upload-Kontrolle: Richtlinienbasierte Erweiterungsblockierung und Link-Limits.
- Vollständige Verschlüsselung: Zero-Knowledge-Ordner- und Datei-Uploads werden unterstützt.
Having trouble with installation?
Our team can hundle the entire deployment, security hardening, und backup setup for you.