Ir al contenido
  1. Posts/

Nextcloud: monté mi propia nube privada y dejé Google Drive

Llevo tres semanas usando Nextcloud como mi única nube. Sin Google Drive, sin OneDrive, sin depender de nadie para mis archivos. Y no voy a mentir: esperaba más problemas de los que tuve.

La idea me rondaba desde hace meses. Tengo un NAS en casa, capacidad de sobra, y me molestaba pagar por almacenamiento cuando tengo 10TB sentados ahí sin hacer nada útil. Pero siempre había algo que me frenaba. La sincronización móvil me daba miedo. Los conflictos de archivos. Que se cayera cuando estuviera fuera de casa.

Spoiler: no pasó nada de eso.

Por qué monté Nextcloud (y por qué tú deberías considerarlo)
#

No fue solo por los 10 euros al mes de Google One. Fue más una cuestión de control. Tengo documentos fiscales, contratos, fotos de mi hija que no quiero que pasen por los servidores de nadie. Y cada vez que leo los términos de servicio de estos sitios me acuerdo de que técnicamente pueden leer lo que quieran.

Nextcloud te devuelve eso. Los archivos están en tu disco, cifrados si quieres, y solo tú decides quién accede. Punto.

Además, no es solo almacenamiento. Nextcloud hace calendarios, contactos, tareas, notas, videollamadas… es un ecosistema completo. Yo solo necesitaba archivos al principio, pero acabé migrando también mi calendario.

Mi setup actual
#

Esto es lo que tengo corriendo:

  • Synology DS1621+ con 12TB útiles en RAID 5
  • Docker con Nextcloud AIO (All-In-One)
  • PostgreSQL como base de datos
  • Redis para caché
  • Cloudflare Tunnel para acceso remoto (sin abrir puertos)
  • Cliente oficial en Mac, iOS y iPad

Todo corre dentro de Docker porque quiero poder mover Nextcloud a otro sitio si el NAS muere. Un docker-compose.yml y en 10 minutos está corriendo en otro servidor.

Instalación paso a paso
#

Nextcloud tiene mil formas de instalarse. Puedes usar el paquete del NAS, instalarlo directo en Ubuntu, usar Snap… yo probé la imagen AIO (All-In-One) y es brutal. Trae todo configurado, optimizado, y listo para producción.

1. Preparar el entorno
#

Necesitas Docker y docker-compose instalados. Si usas Synology como yo, activa SSH y trabaja desde terminal. Si es Unraid, usa el Docker Manager. En Ubuntu/Debian es apt install docker.io docker-compose.

Crea una carpeta para los datos:

1
2
mkdir -p /volume1/docker/nextcloud
cd /volume1/docker/nextcloud

2. El docker-compose.yml
#

Este es mi archivo. Lo he limpiado para quitar ruido:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
version: '3.8'

services:
  nextcloud-aio-mastercontainer:
    image: nextcloud/all-in-one:latest
    restart: always
    container_name: nextcloud-aio-mastercontainer
    volumes:
      - nextcloud_aio_mastercontainer:/mnt/docker-aio-config
      - /var/run/docker.sock:/var/run/docker.sock:ro
    ports:
      - 8080:8080
    environment:
      - APACHE_PORT=11000
      - APACHE_IP_BINDING=0.0.0.0

volumes:
  nextcloud_aio_mastercontainer:
    name: nextcloud_aio_mastercontainer

La imagen AIO es especial. No es Nextcloud directamente, es un “mastercontainer” que luego despliega los contenedores reales (Nextcloud, PostgreSQL, Redis, etc.). Por eso monta el socket de Docker.

3. Arrancar el mastercontainer
#

1
docker-compose up -d

Espera 30 segundos y abre http://tu-ip-local:8080. Verás la interfaz de AIO con una contraseña generada. Apúntala, la necesitas para configurar.

4. Configurar desde la interfaz AIO
#

La interfaz te pide:

  • Dominio: si usas Cloudflare Tunnel (recomendado), pon nextcloud.tudominio.com. Si es solo local, pon la IP.
  • Zona horaria: Europe/Madrid en mi caso.
  • Puerto de Apache: yo dejé 11000. Importante: este es el puerto INTERNO. Luego Cloudflare Tunnel o tu reverse proxy enrutan ahí.

Le das a “Install” y empieza a descargar imágenes. Nextcloud, PostgreSQL, Redis, Imaginary (para previews), Notify Push… tarda unos 10 minutos dependiendo de tu conexión.

Cuando termina, ya tienes Nextcloud corriendo en http://tu-ip:11000.

5. Crear el usuario administrador
#

Primera vez que entras te pide usuario y contraseña. Yo puse luis y una contraseña decente (usa Vaultwarden para esto, en serio).

Y listo. Ya funciona.

Acceso remoto con Cloudflare Tunnel
#

Nextcloud local está bien, pero necesitas acceso desde fuera. Opciones:

  1. Abrir puerto 443 en el router y configurar certificado SSL. Funciona, pero expones tu IP pública.
  2. VPN tipo Tailscale. Mi favorito para acceso personal, pero no puedes compartir enlaces con gente sin VPN.
  3. Cloudflare Tunnel. Gratis, sin abrir puertos, con SSL automático. Esta es la que uso.

Si usas Cloudflare Tunnel (tengo un post sobre eso en el blog), el config es así:

1
2
3
4
5
6
7
tunnel: tu-tunnel-id
credentials-file: /root/.cloudflared/credentials.json

ingress:
  - hostname: nextcloud.tudominio.com
    service: http://localhost:11000
  - service: http_status:404

Agregas el dominio en Cloudflare DNS (CNAME apuntando al tunnel) y ya está. Nextcloud accesible desde https://nextcloud.tudominio.com sin tocar el router.

Esto me pareció magia la primera vez. Cero configuración de puertos, cero certificados manuales, cero problemas con IPs dinámicas.

Clientes y sincronización
#

Nextcloud tiene clientes oficiales para todo:

  • Mac/Windows/Linux: cliente de escritorio que funciona como Dropbox. Carpeta local que sincroniza automáticamente.
  • iOS/Android: app móvil para subir fotos, acceder a archivos, etc.
  • WebDAV: si usas apps tipo DEVONthink o iA Writer, puedes conectarlas directamente.

En Mac instalé el cliente oficial. Le apunté a https://nextcloud.tudominio.com, metí usuario/contraseña, elegí qué carpetas sincronizar. Tardó 2 horas en subir mis 180GB de Drive pero después de eso, cero problemas.

En iOS uso la app oficial. Tiene subida automática de fotos (como Google Photos) y puedo acceder a todos los archivos aunque no estén descargados localmente. Funciona offline con los archivos que marques como favoritos.

Calendario y contactos
#

Esto fue bonus inesperado. Nextcloud trae CalDAV y CardDAV nativos. Eso significa que puedes sincronizar calendarios y contactos con iOS, macOS, Thunderbird, lo que sea.

En iOS:

  1. Ajustes > Calendario > Cuentas > Añadir cuenta > Otra
  2. Añadir cuenta CalDAV
  3. Servidor: nextcloud.tudominio.com
  4. Usuario: tu usuario
  5. Contraseña: tu contraseña

Boom. Calendario sincronizado. Lo mismo para contactos con CardDAV.

Dejé de usar Google Calendar hace dos semanas. Todo mi calendario está en Nextcloud ahora y se sincroniza perfecto entre iPhone, iPad y Mac. Las invitaciones de Calendar funcionan (Nextcloud las envía por email).

Apps interesantes que instalé
#

Nextcloud tiene una tienda de apps. Estas son las que uso:

Notes: bloc de notas markdown sincronizado. Las escribo en móvil, las leo en Mac. Simple y funciona.

Tasks: lista de tareas compatible con CalDAV. Se integra con Reminders en iOS si usas la cuenta CalDAV.

Deck: tipo Trello pero dentro de Nextcloud. Lo uso para organizar posts del blog, proyectos del homelab, etc.

Notify Push: en vez de que los clientes pregunten cada X minutos si hay cambios, el servidor avisa cuando cambia algo. Hace la sincronización instantánea.

Recognize: usa IA local para reconocer caras y objetos en fotos. Tipo Google Photos pero sin enviar nada a ningún servidor.

Preview Generator: genera miniaturas de imágenes y PDFs en segundo plano. Hace que la galería cargue mucho más rápido.

Cosas que me costaron
#

No fue todo color de rosa. Estos fueron los problemas reales:

1. Previews lentas al principio

La galería de fotos iba fatal. Tardaba 10 segundos en mostrar una imagen. El problema: no había miniaturas generadas. Instalé Preview Generator, le dije que procesara todo en background, y al día siguiente ya cargaba rápido.

2. Subidas lentas desde móvil fuera de casa

Mi upload de casa es de 100 Mbps, pero desde 4G subir 50 fotos tardaba una eternidad. El problema: chunk size. Nextcloud divide los archivos grandes en trozos para subirlos. Por defecto usa chunks de 10MB. Cambié el cliente a 5MB y mejoró bastante.

3. Conflictos de sincronización

Edité el mismo archivo en Mac y iPad sin conexión. Cuando sincronizó, Nextcloud creó dos versiones: archivo.md y archivo (conflicted copy).md. No lo resuelve solo, tienes que decidir tú. Aprendí a no editar el mismo archivo en dos sitios a la vez.

Rendimiento y uso de recursos
#

En mi NAS, Nextcloud usa:

  • RAM: unos 800MB entre todos los contenedores.
  • CPU: 2-5% en idle. Sube a 20-30% cuando subes archivos o genera previews.
  • Disco: obviamente depende de tus archivos. Yo tengo 190GB usados ahora mismo.

El Synology lo aguanta sin problemas. Si tienes un mini PC con 8GB de RAM, sobra.

Qué echo de menos vs Google Drive
#

Sinceridad brutal:

Búsqueda de contenido dentro de archivos: Google Drive indexa el texto de PDFs, Docs, etc. y puedes buscar frases dentro. Nextcloud puede hacer esto con Elasticsearch, pero no lo he montado porque es pesado. Por ahora busco por nombre de archivo.

Office colaborativo: Google Docs es imbatible para editar documentos en tiempo real con más gente. Nextcloud tiene Collabora y OnlyOffice, pero la experiencia no es tan fluida. Si trabajo solo, me vale. Para colaborar con gente, todavía uso Docs puntualmente.

App móvil: la de Nextcloud funciona bien pero no es tan pulida como Drive. Pequeños detalles tipo arrastrar para reordenar archivos, o la búsqueda que a veces no encuentra cosas. Nada grave, pero se nota.

Costes reales
#

Vamos a poner números:

  • Hardware: ya tenía el NAS (800€ en su día). Si compras un mini PC para esto, 300-500€.
  • Electricidad: el NAS consume 40W. A 0.15€/kWh son unos 5€/mes.
  • Dominio: 12€/año (1€/mes).
  • Cloudflare Tunnel: gratis.
  • Total mensual: 6€.

Google One con 2TB cuesta 10€/mes. Nextcloud me sale más barato y tengo más control.

Pero claro, si no tienes hardware ya, Google Drive es más barato al principio. Nextcloud tiene sentido si:

  • Ya tienes un NAS o servidor en casa.
  • Quieres privacidad real.
  • Te interesa el self-hosting como hobbie/aprendizaje.

Backup (porque sí o sí necesitas uno)
#

Tener los archivos en tu casa es genial hasta que el disco se muere o tu casa se inunda. Necesitas backup externo.

Yo uso:

Duplicati corriendo en el mismo NAS. Cada noche hace backup incremental de la carpeta de Nextcloud a Backblaze B2 (almacenamiento en la nube barato). Cifrado con contraseña antes de subir.

Cuesta 0.005$/GB/mes. Con 200GB estoy pagando 1$/mes de backup offsite.

Si prefieres gratis, puedes usar rclone para mandar copias a Google Drive gratis (15GB) o a Dropbox. La gracia es que el backup esté en otro sitio físico.

Conclusión: ¿merece la pena?
#

Después de tres semanas, sí. No vuelvo a Google Drive para uso personal.

Nextcloud no es perfecto. La app móvil podría ser mejor, la búsqueda dentro de archivos no está al nivel de Google, y tienes que gestionar tú el servidor (actualizaciones, backups, etc.).

Pero me da algo que Google no puede darme: certeza absoluta de dónde están mis archivos y quién puede acceder. Los contratos de clientes, las fotos de mi hija, documentos fiscales… todo está en mi disco, cifrado, sin pasar por servidores de terceros.

Y como bonus, aprendí un montón sobre reverse proxies, CalDAV, y gestión de contenedores Docker. Si te gusta el self-hosting, Nextcloud es un proyecto perfecto para empezar.

Si tienes un homelab y no has probado Nextcloud, dale una oportunidad. No te pide gran cosa (un contenedor Docker y unas horas de configuración), y te devuelve control total sobre tus archivos.

Ahora voy a por el siguiente proyecto: montar Immich para dejar Google Photos también. Pero eso es otra historia.