Installazione e distribuzione
Guida passo passo per distribuire OpenPrivateDrive sulla tua infrastruttura privata.
01 Consigliato: Docker Distribuzione
Il modo più rapido e affidabile per distribuire OpenPrivateDrive è usare Docker Compose. Questo assicura che tutte le dipendenze (LibreOffice, FFmpeg, ecc.) siano configurate correttamente.
SECRET_KEY='long-random-secret' ADMIN_PASSWORD='strong-admin-password' docker compose up -d --build Dettagli post-distribuzione
- URL:
http://server-ip:5350 - Admin predefinito:
admin - Password: il valore di
ADMIN_PASSWORD - Dati persistenti:
./data/instance,./data/storage,./data/logs
02 Manual Distribuzione
Per distribuzioni bare-metal o Linux personalizzate (Ubuntu 22.04+ consigliato), segui questi passaggi:
git clone https://github.com/christophe-cremieux/openprivatedrive.git
cd openprivatedrive
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt Richiesto per anteprime e miniature
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. Produzione Gunicorn + Nginx
In produzione, esegui l’app tramite Gunicorn dietro un reverse proxy Nginx con SSL abilitato.
gunicorn --workers 3 --bind 127.0.0.1:5100 run:app 03 Environment Config
Crea un file .env nella root del progetto per configurare il comportamento dell’applicazione:
| Variabile | Descrizione |
|---|---|
| SECRET_KEY | Stringa casuale lunga per firmare le sessioni. |
| ADMIN_PASSWORD | Password per l’utente iniziale "admin". |
| STORAGE_PATH | Percorso assoluto dell’archiviazione privata dei file. |
| DATABASE_URL | Stringa di connessione SQLAlchemy (SQLite supportato). |
| FLASK_ENV | Impostare su "production" per ambienti live. |
| SESSION_COOKIE_SECURE | Impostare su "True" quando si usa HTTPS. |
04 Backup & Restore
I backup regolari sono fondamentali. Sia il database SQLite sia lo storage fisico devono essere salvati insieme per mantenere la coerenza.
Docker Docker Backup & Restore
Usa questi script sulla macchina host per gestire i dati basati su Docker:
bash scripts/docker_backup.sh bash scripts/docker_restore.sh my_backup.tar.gz Questi script gestiscono insieme database SQLite e volumi di storage fisico per garantire coerenza.
Manual Manual Backup & Restore
Per installazioni manuali, usa gli script generici di backup e ripristino:
bash scripts/backup.sh bash scripts/restore.sh my_backup.tar.gz 05 Sicurezza Checklist
- Cambia ADMIN_PASSWORD subito dopo il primo accesso.
- Forza HTTPS tramite Nginx e imposta SESSION_COOKIE_SECURE=True.
- Usa stringhe casuali robuste per SECRET_KEY.
- Verifica regolarmente i "Public Link" dal pannello admin.
- Imposta politiche specifiche per le estensioni di upload nelle impostazioni admin.
- Verifica che STORAGE_PATH non sia accessibile dal server web.
06 Troubleshooting & Features
Problemi comuni
- Previews missing: Verify
libreofficeandffmpegare installed. - Errori di upload: Controlla
MAX_CONTENT_LENGTHeclient_max_body_sizedi Nginx. - Database locked: Ensure only one process is accessing the SQLite file.
Key Features to Note
- Bootstrap admin: Account admin creato al primo avvio.
- Gestione password: Link di reset per gli utenti e modifica self-service.
- Controllo upload: Blocco estensioni basato su policy e limiti sui link.
- Cifratura completa: Cartelle e upload file zero-knowledge supportati.
Hai problemi con l’installazione?
Il nostro team può occuparsi dell’intera distribuzione, dell’hardening di sicurezza e della configurazione dei backup per te.