¿Te gustaría librarte de las cuotas de almacenamiento en la nube, prescindir de Google Fotos y aprovechar el almacenamiento ilimitado que ofrece O2 Cloud, pero de forma 100% automatizada y privada?
En este artículo aprenderás a convertir tu Raspberry Pi 5 en un servidor de respaldo continuo las 24 horas del día. Configuraremos de manera nativa (sin Docker) el pasarela/gateway WebDAV de O2 Cloud desarrollado por la comunidad y sincronizaremos las fotos de tu móvil Android automáticamente mediante Round Sync (código abierto).
🛠️ Requisitos Previos
- Servidor local: Raspberry Pi 5 ejecutando Debian 13 (Trixie) o Raspberry Pi OS equivalente.
- Acceso al sistema: Conexión mediante SSH o terminal local con permisos de superusuario (
sudo). - Dispositivo Android: Móvil con la app Round Sync instalada (disponible vía F-Droid, GitHub u Obtainium).
- Cuenta activa: Credenciales de usuario y contraseña de O2 Cloud.
🚀 PASO 1: Preparación del sistema e instalación de dependencias
El gateway de O2 Cloud requiere Node.js para ejecutar el puente de red y un motor de navegador Chromium sin cabecera (headless) para gestionar la autenticación persistente con el servidor del operador.
Abre la terminal de tu Raspberry Pi y ejecuta:
# 1. Actualizar repositorios e paquetes del sistema
sudo apt update && sudo apt upgrade -y
# 2. Instalar Node.js, npm, git y las librerías necesarias para Chromium
sudo apt install -y nodejs npm git chromium-browser \
libnss3 libatk-bridge2.0-0 libcups2 libdrm2 \
libxkbcommon0 libxcomposite1 libxdamage1 libxfixes3 \
libxrandr2 libgbm1 libasound2
Verificación: Comprueba que la versión de Node.js instalada sea funcional ejecutando:
node -v
📦 PASO 2: Clonar y compilar el Gateway WebDAV de O2 Cloud
Instalaremos el proyecto directamente en el directorio de aplicaciones del sistema (/opt) para mantener una estructura limpia.
# 1. Acceder al directorio /opt
cd /opt
# 2. Clonar el repositorio oficial del proyecto
sudo git clone https://github.com/mfontanini/o2cloud-webdav.git o2cloud-webdav
# 3. Asignar la propiedad de la carpeta a tu usuario de sistema (ejemplo: chapuboot)
sudo chown -R $USER:$USER /opt/o2cloud-webdav
# 4. Entrar en la carpeta del proyecto e instalar las dependencias
cd o2cloud-webdav
npm install
# 5. Compilar el código fuente del proyecto
npm run build
🔑 PASO 3: Autenticación inicial con la cuenta de O2 Cloud
Para que la Raspberry Pi pueda hablar en tu nombre con O2 Cloud, es necesario iniciar sesión por primera vez y generar los tokens de autenticación guardados en disco.
npm run login
- El script iniciará un entorno interactivo (o desplegará una pasarela temporal en un puerto como el
6080si estás en modo headless sin pantalla). - Abre el navegador de tu PC e introduce la IP local de tu Raspberry Pi seguida del puerto asignado (ejemplo:
http://192.168.1.100:6080). - Introduce tu usuario y contraseña de O2 Cloud y completa la verificación si se requiere.
- Una vez completado, la terminal confirmará que las credenciales/cookies han sido almacenadas con éxito.
⚙️ PASO 4: Configurar el servicio persistente en Systemd (24/7)
Para garantizar que el servicio WebDAV esté siempre activo, se ejecute al iniciar la Raspberry Pi y se reinicie automáticamente si falla, crearemos un servicio del sistema.
sudo nano /etc/systemd/system/o2cloud-webdav.service
Pega la siguiente configuración dentro del archivo (asegúrate de cambiar tu_usuario por tu nombre de usuario real en Linux si es diferente):
[Unit]
Description=O2 Cloud WebDAV Gateway (mfontanini)
After=network.target
[Service]
Type=simple
User=tu_usuario
WorkingDirectory=/opt/o2cloud-webdav
ExecStart=/usr/bin/npm start
Restart=always
RestartSec=10
Environment=NODE_ENV=production
[Install]
WantedBy=multi-user.target
Guarda el archivo pulsando Ctrl + O, presiona Enter, y sal con Ctrl + X.
A continuación, habilita y arranca el servicio:
# Recargar el demonio de systemd
sudo systemctl daemon-reload
# Habilitar el inicio automático con el sistema y arrancarlo ahora mismo
sudo systemctl enable --now o2cloud-webdav.service
Verificación: Revisa que el servicio esté corriendo correctamente sin errores:
sudo systemctl status o2cloud-webdav.serviceDeberías ver el estado marcado como
active (running).
📱 PASO 5: Configuración de Round Sync en Android
Con la Raspberry Pi emitiendo el servicio WebDAV en tu red local (habitualmente en el puerto 8080), pasamos a configurar la aplicación móvil.
1. Añadir el servidor remoto (Remote)
- Abre Round Sync en tu móvil Android.
- Ve al apartado Remotes (Servidores) y pulsa en + Añadir servidor.
- Selecciona el tipo de protocolo: WebDAV.
- Introduce los datos del servidor:
- Nombre:
O2 Cloud Raspberry - URL:
http://IP_DE_TU_RASPBERRY:8080(reemplazaIP_DE_TU_RASPBERRYpor la IP local fija de tu Pi, ej:http://192.168.1.50:8080). - Usuario/Contraseña: Si no configuraste credenciales adicionales en el archivo
.envdel gateway, puedes dejarlo según la configuración establecida por defecto.
- Nombre:
- Guarda y prueba la conexión.
2. Crear la tarea de automatización (Task)
- Dentro de Round Sync, ve a la pestaña Tasks (Tareas) y pulsa en + Crear tarea.
- Origen (Local): Selecciona la carpeta donde tu móvil guarda las fotos de la cámara (normalmente
/storage/emulated/0/DCIM/Camera). - Destino (Remoto): Selecciona el servidor
O2 Cloud Raspberryy elige o crea la carpeta de destino deseada (ejemplo:/Fotos_Movil/2026). - Modo de sincronización: Selecciona Subir (Copy/Sync) según prefieras conservar o no las copias locales.
- Programación y condiciones:
- Marca la casilla Ejecutar solo con Wi-Fi conectado.
- Opcional: Marca la casilla Solo cuando el dispositivo se esté cargando para no impactar la batería durante el día.
📊 Monitoreo y Mantenimiento
Si en algún momento deseas comprobar el estado de las transferencias o depurar posibles incidencias en la Raspberry Pi, puedes consultar los registros del servicio en tiempo real con:
sudo journalctl -u o2cloud-webdav.service -f
💡 Conclusión
¡Enhorabuena! Has construido una infraestructura privada y automatizada. Cada vez que llegues a casa y tu móvil se conecte a la red Wi-Fi, Round Sync detectará las nuevas imágenes y las enviará a través del gateway WebDAV alojado en tu Raspberry Pi 5, almacenándolas de forma transparente en tu espacio de O2 Cloud.