Instalación y despliegue
Guía paso a paso para desplegar OpenPrivateDrive en tu propia infraestructura privada.
01 Recomendado: despliegue con Docker
La forma más rápida y fiable de desplegar OpenPrivateDrive es usar Docker Compose. Esto ayuda a mantener correctamente configuradas todas las dependencias necesarias, como LibreOffice y FFmpeg.
SECRET_KEY='long-random-secret' ADMIN_PASSWORD='strong-admin-password' docker compose up -d --build Detalles posteriores al despliegue
- URL:
http://server-ip:5350 - Administrador por defecto:
admin - Contraseña: el valor de
ADMIN_PASSWORD - Datos persistentes:
./data/instance,./data/storage,./data/logs
02 Despliegue manual
Para instalaciones bare-metal o despliegues Linux personalizados, se recomienda Ubuntu 22.04 o superior. Sigue estos pasos:
git clone https://github.com/christophe-cremieux/openprivatedrive.git
cd openprivatedrive
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt Necesarias para previsualizaciones y miniaturas
sudo apt update
sudo apt install libreoffice ffmpeg python3-magic flask db upgrade
# El usuario administrador se crea automáticamente en el primer arranque usando .env
python run.py 4. Producción con Gunicorn + Nginx
En producción, ejecuta la aplicación con Gunicorn detrás de un proxy inverso Nginx con SSL activado.
gunicorn --workers 3 --bind 127.0.0.1:5100 run:app 03 Configuración del entorno
Crea un archivo .env en la raíz del proyecto para configurar el comportamiento de la aplicación:
| Variable | Descripción |
|---|---|
| SECRET_KEY | Cadena aleatoria larga para firmar sesiones. |
| ADMIN_PASSWORD | Contraseña para el usuario inicial "admin". |
| STORAGE_PATH | Ruta absoluta del almacenamiento privado de archivos. |
| DATABASE_URL | Cadena de conexión SQLAlchemy; SQLite está soportado. |
| FLASK_ENV | Usa "production" para entornos reales. |
| SESSION_COOKIE_SECURE | Usa "True" cuando la aplicación funcione con HTTPS. |
04 Copia de seguridad y restauración
Las copias de seguridad periódicas son esenciales. La base de datos SQLite y el almacenamiento físico deben respaldarse juntos para mantener la coherencia.
Docker Copia y restauración con Docker
Usa estos scripts en el servidor anfitrión para gestionar los datos de una instalación Docker:
bash scripts/docker_backup.sh bash scripts/docker_restore.sh my_backup.tar.gz Estos scripts gestionan juntos la base de datos SQLite y los volúmenes de almacenamiento físico para mantener la coherencia.
Manual Copia y restauración manual
Para instalaciones manuales, usa los scripts genéricos de copia y restauración:
bash scripts/backup.sh bash scripts/restore.sh my_backup.tar.gz 05 Lista de seguridad
- Cambia ADMIN_PASSWORD inmediatamente después del primer inicio de sesión.
- Fuerza HTTPS mediante Nginx y define SESSION_COOKIE_SECURE=True.
- Usa cadenas aleatorias fuertes para SECRET_KEY.
- Audita regularmente los enlaces públicos desde el panel de administración.
- Define políticas específicas para extensiones de archivo en la configuración de administración.
- Verifica que STORAGE_PATH no sea accesible desde el servidor web.
06 Solución de problemas y funciones
Problemas comunes
- Faltan previsualizaciones: verifica que
libreofficeyffmpegestén instalados. - Errores de subida: revisa
MAX_CONTENT_LENGTHyclient_max_body_sizede Nginx. - Base de datos bloqueada: asegúrate de que solo un proceso acceda al archivo SQLite.
Funciones clave a tener en cuenta
- Inicialización del administrador: la cuenta de administrador se crea en el primer arranque.
- Gestión de contraseñas: enlaces de restablecimiento para usuarios y cambio en autoservicio.
- Control de subidas: bloqueo de extensiones y límites de enlaces basados en políticas.
- Cifrado completo: se admiten subidas de carpetas y archivos con enfoque zero-knowledge.
¿Tienes problemas con la instalación?
Nuestro equipo puede encargarse del despliegue completo, el endurecimiento de seguridad y la configuración de copias de seguridad.