OP OpenPrivateDrive
OP OpenPrivateDrive

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.

Quick Start Command
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:

1. Clona e dipendenze
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. Dipendenze di sistema

Richiesto per anteprime e miniature

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

Backup bash scripts/docker_backup.sh
Restore 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 libreoffice and ffmpeg are installed.
  • Errori di upload: Controlla MAX_CONTENT_LENGTH e client_max_body_size di 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.
Open Source & Self-Hosted

Hai problemi con l’installazione?

Il nostro team può occuparsi dell’intera distribuzione, dell’hardening di sicurezza e della configurazione dei backup per te.