4.7 KiB
4.7 KiB
OnEver Drive — Guía de Despliegue Nativo en Proxmox VE (LXC Debian 12 / 13)
Este documento detalla la instalación paso a paso en Proxmox Virtual Environment (PVE) ejecutando la aplicación 100% nativa en contenedores Linux (LXC) sobre Debian 12 (Bookworm) o Debian 13 (Trixie), sin Docker ni capas intermedias.
1. Topología del Sistema en Proxmox VE
┌─────────────────────────────────────────────────────────┐
│ PROXMOX VE HOST │
│ │
│ ZFS / LVM Pool: /mnt/pve/backup-pool │
│ ├── backups/ (Repositorio de respaldos) │
│ └── temp/ (Directorio temporal de chunks) │
└────────────────────────────┬────────────────────────────┘
│ Mountpoints (-mp0, -mp1)
▼
┌─────────────────────────────────────────────────────────┐
│ CT 100 — onever-backend (Debian 12/13) │
│ │
│ • FastAPI Backend Service (/etc/systemd/system/...) │
│ • PostgreSQL 15/16 Nativo (Base de datos transaccional)│
│ • Nginx Reverse Proxy (Streaming Chunks + WebSockets) │
│ • Frontend Web Dashboard (/var/www/onever-drive-web) │
│ • Python Virtualenv (/opt/onever_drive/venv) │
└─────────────────────────────────────────────────────────┘
2. Paso 1: Creación del Contenedor LXC en Proxmox Host
Ejecute en la consola Shell del nodo Proxmox VE (root):
# 1. Copiar o clonar scripts de aprovisionamiento
git clone <URL_REPOSITORIO> /tmp/onever_drive
# 2. Ejecutar creación automática de LXC y montaje de almacenamiento
bash /tmp/onever_drive/deployment/proxmox/01-create-lxc-pve-host.sh
El script:
- Descarga la plantilla oficial
debian-12-standardodebian-13-standard. - Crea el contenedor CT 100 (2 GB RAM, 2 Cores, 20 GB disco del sistema).
- Monta directamente el pool de almacenamiento del Host hacia
/storage/backupsy/storage/tempen el LXC. - Inicia el contenedor.
3. Paso 2: Instalación Nativa en el Contenedor (Debian 12 / 13)
Ingrese al contenedor e inicie el instalador nativo:
# En el Host Proxmox:
pct enter 100
# Dentro del contenedor Debian 12 / 13:
git clone <URL_REPOSITORIO> /opt/onever_drive
bash /opt/onever_drive/deployment/proxmox/02-install-backend-debian.sh
El instalador automatiza todo el proceso:
- Instala paquetes nativos:
postgresql,nginx,python3,python3-venv,nodejs,npm. - Inicializa PostgreSQL y crea la base de datos
onever_drivecon el esquema DDL e índices. - Configura el entorno virtual de Python y dependencias en
/opt/onever_drive/venv. - Compila la interfaz Web React y la ubica en
/var/www/onever-drive-web. - Instala el servicio
onever-backend.serviceen systemd y lo inicia automáticamente. - Configura Nginx con soporte para streaming de bloques por chunks ilimitados y WebSockets.
4. Paso 3: Configuración de Certificado SSL / HTTPS
Para habilitar HTTPS en el puerto 443:
# Para dominio público con Let's Encrypt (Certbot):
bash /opt/onever_drive/deployment/proxmox/03-configure-ssl.sh backup.midominio.com
# Para entorno LAN / Intranet (Certificado autofirmado 4096 bits):
bash /opt/onever_drive/deployment/proxmox/03-configure-ssl.sh self-signed
5. Paso 4: Mantenimiento y Backups del Sistema
Para programar el backup diario de la base de datos PostgreSQL de OnEver Drive hacia el almacenamiento persistente:
# Agregar tarea en cron en CT 100:
crontab -e
# Agregar línea (ejecutar diariamente a las 01:00 AM):
0 1 * * * bash /opt/onever_drive/deployment/proxmox/04-backup-maintenance.sh
6. Comprobación y Estado de Servicios
Verificar que todos los servicios nativos están activos:
systemctl status onever-backend.service
systemctl status postgresql
systemctl status nginx