Saltar a contenido

OpenCloud

File sync + sharing fork de ownCloud Infinite Scale. Go, microservicios internos, sin DB externa (metadata en filesystem). RAM ~100-300MB. https://cloud.matias7235.com.ar

📁 Rutas y configs

Qué Dónde
Compose base /opt/docker/opencloud/opencloud-compose/docker-compose.yml
Compose overrides external-proxy/opencloud.yml, custom-collabora.yml
Variables de entorno /opt/docker/opencloud/opencloud-compose/.env
Config interna /opt/docker/opencloud/config/opencloud.yaml (generada al primer inicio)
Datos usuarios /mnt/hdd_2tb/opencloud_data (Disco WD Blue 1TB)
Contenedores: opencloud-compose-opencloud-1, opencloud-compose-collaboration-1 Puerto: 9200
## 🧩 Apps integradas externas
App Servicio externo
--- ---
Office (Collabora) Collabora standalone en office.matias7235.com.ar
## 🛠️ Comandos útiles
# Ver logs
docker logs -f opencloud-compose-opencloud-1
docker logs -f opencloud-compose-collaboration-1
# Reiniciar contenedores individuales
docker restart opencloud-compose-opencloud-1
docker restart opencloud-compose-collaboration-1
# Recrear todo el stack (necesario si se cambió .env o custom ymls)
cd /opt/docker/opencloud/opencloud-compose && docker compose down && docker compose up -d
# Verificar containers activos
docker compose -f docker-compose.yml -f external-proxy/opencloud.yml -f custom-collabora.yml ps
# Test de salud (desde el host)
curl http://localhost:9200                                   # Debe devolver HTML de login
curl http://localhost:9300/wopi/files/                       # Debe devolver 404 (esperado)
curl http://localhost:9980/hosting/discovery                 # XML de Collabora
# Forzar regeneración de config (si se cambian env vars sensibles)
docker compose down && sudo rm -f /opt/docker/opencloud/config/opencloud.yaml && docker compose up -d
## 💾 Backups y Restauración
OpenCloud no tiene DB externa — todo está en filesystem:
# Backup de config
sudo tar czf /tmp/opencloud-config-$(date +%F).tar.gz /opt/docker/opencloud/config/
# Backup de datos de usuario
sudo tar czf /tmp/opencloud-data-$(date +%F).tar.gz /mnt/hdd_2tb/opencloud_data/
## ⚙️ Tareas comunes
Usuario y password por defecto:
User: admin
Pass: (lo que esté en INITIAL_ADMIN_PASSWORD del .env)
Configurar Office (Collabora externo):
OpenCloud ya viene configurado via custom-collabora.yml. No requiere config extra desde la UI. Detalles en Collabora.md.
Configurar Calendario/Contactos (Radicale):
Integración Radicale ya activa via radicale/radicale.yml. Clientes CalDAV/CardDAV apuntan a https://cloud.matias7235.com.ar/caldav/ con usuario OpenCloud + App Token.
Actualizar OpenCloud:
cd /opt/docker/opencloud/opencloud-compose
git pull
docker compose pull
docker compose up -d
## 🔥 Problemas comunes
Problema Solución
--- ---
Authentication failed al loguearse Secrets entre config y data no coinciden. docker compose down && sudo rm -rf /mnt/hdd_2tb/opencloud_data/* && sudo rm -f /opt/docker/opencloud/config/opencloud.yaml && docker compose up -d
Office no abre documentos (500 o error en iframe) Ver Collabora.md → Problemas comunes. Causa más frecuente: falta proof key en Collabora
Office abre iframe en blanco, URL del iframe apunta a collabora:9980 en vez de office.matias7235.com.ar COLLABORATION_APP_ADDR debe ser la URL externa (https://office.matias7235.com.ar). Si el WOPI bridge no resuelve DNS, agregar extra_hosts en el servicio collaboration para que resuelva office.matias7235.com.ar → 172.21.0.1 (gateway Docker = host = Caddy). Ver custom-collabora.yml para la config completa.
Error 502 desde cloud.matias7235.com.ar Verificar que el contenedor OpenCloud esté corriendo: docker ps
WOPI host not authorized Verificar regex de NEXTCLOUD_DOMAIN_REGEX en /opt/docker/collabora/.env
Cambios en .env no surten efecto Usar docker compose down && docker compose up -d (no restart)
Radicale no arranca: Permission denied en data dir El directorio de datos debe ser owned por uid 1000. sudo chown 1000:1000 /mnt/hdd_2tb/radicale_data
Cliente CalDAV no autentica Usar App Token (Settings → Security → App Tokens en OpenCloud), no la password directa. OIDC no es soportado por la mayoría de clientes CalDAV.
Cliente no descubre calendarios Probar con el .well-known/caldav discovery: configurar URL base como https://cloud.matias7235.com.ar (sin /caldav/). OpenCloud redirige automáticamente.