| 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. |