Guía Completa de Despliegue LXC y Docker para Nextcloud AIO en Proxmox
Esta guía detalla el proceso completo para crear un contenedor LXC en Proxmox VE y desplegar Nextcloud All-in-One (AIO) utilizando Docker Compose.
1. Características Recomendadas del LXC
| Parámetro | Valor Recomendado | Descripción / Notas |
|---|---|---|
| Arquitectura | LXC (Unprivileged / No privilegiado) | Recomendado por seguridad |
| Sistema Operativo | Debian 13 (Trixie) | Sistema operativo base |
| Cores CPU | 2 Cores - 4 Cores | Mínimo 2 cores para un rendimiento fluido |
| Memoria RAM | 4096 MB (4 GB) - 8192 MB (8 GB) | Necesario si usas Collabora Office, Talk o ClamAV |
| Memoria SWAP | 2048 MB (2 GB) | Margen para procesos de actualización o indexación |
| Almacenamiento | 40 GB+ (SSD / NVMe) | Espacio para el SO, contenedores y archivos de Nextcloud |
| Red / Puertos | vmbr0 (80, 443, 8080, 8443) |
Apertura de puertos requerida para SSL y gestión AIO |
| Opciones Clave | Nesting = 1 |
Obligatorio para ejecutar Docker y contenedores anidados |
| FUSE / OverlayFS | keyctl = 1 |
Necesario para la gestión de volumenes Docker dentro del LXC |
2. Creación del LXC y Preparación del Entorno
- Creación con Helper-Scripts: Puedes desplegar el LXC base ejecutando el script interactivo oficial: 👉 Proxmox VE Helper-Scripts - Debian LXC
- Instalación de Docker Engine: Una vez creado el LXC y dentro de su terminal, instala Docker siguiendo la guía oficial: 👉 Tutorial de Instalación de Docker en Debian
4. Montar NFS de los datos en el contenedor
Entraremos al contenedor y crearemos las siguientes carpetas.
Luego siguiendo esta guía, mapearemos las carpetas montadas en el host de proxmox a las del contenedor.
5. Despliegue de Nextcloud AIO con Docker Compose
Crea un directorio para el proyecto:
Crea el archivo docker-compose.yml:
Copia y pega la siguiente configuración:
version: '3.8'
services:
nextcloud-aio-mastercontainer:
image: nextcloud/all-in-one:latest
init: true
container_name: nextcloud-aio-mastercontainer
restart: always
ports:
#- "80:80"
- "8080:8080"
- "8443:8443"
environment:
- APACHE_PORT=11000
- APACHE_IP_BINDING=0.0.0.0
- SKIP_DOMAIN_VALIDATION=true # OBLIGATORIO para túneles (evita que AIO intente abrir el puerto 443 público)
- NEXTCLOUD_DATADIR=/mnt/data # Opcional: Ruta personalizada para datos
volumes:
- nextcloud_aio_mastercontainer:/mnt/docker-aio-config
- /var/run/docker.sock:/var/run/docker.sock:ro
volumes:
nextcloud_aio_mastercontainer:
name: nextcloud_aio_mastercontainer
Para iniciar el contenedor maestro:
Configuración inicial:
- Accede a
https://<IP_DE_TU_LXC>:8080 - Obtén la contraseña inicial con:
docker logs nextcloud-aio-mastercontainer - Sigue el asistente en pantalla para completar la instalación.