Saltar al contenido
Infrastructure 2026-09-06 18 min de lectura

Cómo instalar Nextcloud en un VPS

Nextcloud convierte tu VPS en una nube privada equivalente a Google Drive o OneDrive. Tus archivos, calendarios y contactos se sincronizan entre dispositivos sin depender de servicios de terceros.

Cómo instalar Nextcloud en un VPS
#Nextcloud#VPS#almacenamiento#self-hosting#Ubuntu#Docker
T
Equipo Terranode
Editorial

Requisitos del servidor

Ubuntu 22.04 LTS con al menos 2 GB de RAM, 2 vCPU y espacio en disco acorde a los archivos que planeas alojar. Docker y Docker Compose deben estar instalados. Si aún no los tienes:

bash
curl -fsSL https://get.docker.com | sudo bash
sudo apt install -y docker-compose-plugin
sudo usermod -aG docker $USER

Cierra sesión y vuelve a entrar para que el grupo surta efecto.

Estructura del proyecto

Crea el directorio de trabajo:

bash
mkdir -p ~/nextcloud && cd ~/nextcloud

Archivo docker-compose.yml

Crea ~/nextcloud/docker-compose.yml:

yaml
services:
  db:
    image: mariadb:10.11
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: rootpass_cambia_esto
      MYSQL_DATABASE: nextcloud
      MYSQL_USER: nextcloud
      MYSQL_PASSWORD: ncpass_cambia_esto
    volumes:
      - db_data:/var/lib/mysql

  redis:
    image: redis:7-alpine
    restart: always

  app:
    image: nextcloud:28-apache
    restart: always
    depends_on:
      - db
      - redis
    ports:
      - "8080:80"
    environment:
      MYSQL_HOST: db
      MYSQL_DATABASE: nextcloud
      MYSQL_USER: nextcloud
      MYSQL_PASSWORD: ncpass_cambia_esto
      NEXTCLOUD_ADMIN_USER: admin
      NEXTCLOUD_ADMIN_PASSWORD: adminpass_cambia_esto
      NEXTCLOUD_TRUSTED_DOMAINS: nube.tudominio.com
      REDIS_HOST: redis
    volumes:
      - nc_data:/var/www/html

volumes:
  db_data:
  nc_data:

Inicia los contenedores:

bash
docker compose up -d

Espera 30–60 segundos mientras Nextcloud inicializa la base de datos. Verifica el estado:

bash
docker compose logs -f app

Configurar Nginx como proxy inverso

bash
sudo apt install -y nginx certbot python3-certbot-nginx

Crea /etc/nginx/sites-available/nextcloud:

nginx
server {
    listen 80;
    server_name nube.tudominio.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        client_max_body_size 10G;
        proxy_read_timeout 600s;
    }
}
bash
sudo ln -s /etc/nginx/sites-available/nextcloud /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
sudo certbot --nginx -d nube.tudominio.com

Verificar la instalación

Abre https://nube.tudominio.com en el navegador. Deberías ver el panel de Nextcloud con las credenciales de administrador definidas en el compose.

Configuraciones recomendadas post-instalación

Entra a Ajustes → Administración → Información básica y corrige los avisos que Nextcloud muestre. Los más comunes son:

  • PHP memory limit: ajusta memory_limit = 512M en el contenedor o monta un php.ini personalizado.
  • Directiva de caché de memoria: Redis ya está configurado en el compose; actívalo en config.php:
bash
docker exec -u www-data nextcloud-app-1 php occ config:system:set memcache.local --value='\OC\Memcache\Redis'
docker exec -u www-data nextcloud-app-1 php occ config:system:set memcache.locking --value='\OC\Memcache\Redis'
docker exec -u www-data nextcloud-app-1 php occ config:system:set redis --type=json \
  --value='{"host":"redis","port":6379}'
  • Directiva de HSTS: Nginx la añade automáticamente con Certbot.

Instalar apps adicionales

Desde la interfaz de administración puedes instalar:

  • Nextcloud Talk: videollamadas y chat interno
  • Collabora Online o OnlyOffice: edición colaborativa de documentos
  • Nextcloud Photos: galería de imágenes con reconocimiento facial
  • Calendar y Contacts: sincronización CalDAV/CardDAV

Configurar la app móvil

  1. 1 Descarga Nextcloud desde tu tienda de apps.
  2. 2 Escribe https://nube.tudominio.com en el campo de servidor.
  3. 3 Inicia sesión con tu usuario y contraseña.
  4. 4 Activa la sincronización automática de fotos en Ajustes → Auto-upload.

Backup automático

Crea /usr/local/bin/nextcloud-backup.sh:

bash
#!/bin/bash
DATE=$(date +%Y%m%d)
DEST=/backups/nextcloud

mkdir -p $DEST

# Modo mantenimiento ON
docker exec -u www-data nextcloud-app-1 php occ maintenance:mode --on

# Backup base de datos
docker exec nextcloud-db-1 mysqldump -u nextcloud -pncpass_cambia_esto nextcloud \
  | gzip > $DEST/db_$DATE.sql.gz

# Backup datos
docker run --rm --volumes-from nextcloud-app-1 \
  -v $DEST:/backup alpine \
  tar czf /backup/data_$DATE.tar.gz /var/www/html/data /var/www/html/config

# Modo mantenimiento OFF
docker exec -u www-data nextcloud-app-1 php occ maintenance:mode --off

# Eliminar backups de más de 7 días
find $DEST -name "*.gz" -mtime +7 -delete
bash
chmod +x /usr/local/bin/nextcloud-backup.sh
echo "0 2 * * * root /usr/local/bin/nextcloud-backup.sh" | sudo tee /etc/cron.d/nextcloud-backup

Actualizaciones

bash
docker compose pull
docker compose up -d
docker exec -u www-data nextcloud-app-1 php occ upgrade

Nextcloud en tu VPS te da almacenamiento, calendarios y colaboración en documentos con privacidad total. El stack con Docker Compose es sencillo de mantener y escala fácilmente añadiendo disco o aumentando recursos.

Terranode ofrece VPS con NVMe desde $6/mes en Ecuador, ideales para alojar tu instancia de Nextcloud con baja latencia para equipos locales.

¿Listo para llevar tu sitio al siguiente nivel?

Hosting con LiteSpeed, NVMe y soporte 24/7 desde $3/mes.

Ver planes de hosting

Preguntas frecuentes