OP OpenPrivateDrive
OP OpenPrivateDrive

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.

Comando de inicio rápido
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:

1. Clonar y dependencias
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. Dependencias del sistema

Necesarias para previsualizaciones y miniaturas

sudo apt update
sudo apt install libreoffice ffmpeg python3-magic
3. Inicializar la aplicación
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:

Copia bash scripts/docker_backup.sh
Restauración 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 libreoffice y ffmpeg estén instalados.
  • Errores de subida: revisa MAX_CONTENT_LENGTH y client_max_body_size de 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.
Open Source & Self-Hosted

¿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.