# Nextcloud con Collabora Online - Docker Compose Setup completo di Nextcloud con Collabora Online usando Docker Compose. ## Componenti - **Nextcloud**: Piattaforma di cloud storage e collaboration - **MariaDB**: Database per Nextcloud - **Redis**: Cache per migliorare le performance - **Collabora Online**: Suite office online integrata - **Cron**: Job cron per task schedulati di Nextcloud ## Installazione ### 1. Configura le variabili d'ambiente Modifica il file `.env` con i tuoi valori: ```bash # Cambia le password MYSQL_ROOT_PASSWORD= MYSQL_PASSWORD= NEXTCLOUD_ADMIN_PASSWORD= COLLABORA_PASSWORD= # Configura i domini NEXTCLOUD_TRUSTED_DOMAINS=localhost,your-domain.com OVERWRITEHOST=your-domain.com COLLABORA_DOMAIN=nextcloud\\.your-domain\\.com ``` **Importante**: Nel campo `COLLABORA_DOMAIN`, i punti devono essere escaped con `\\`. ### 2. Avvia i servizi ```bash docker-compose up -d ``` ### 3. Verifica lo stato ```bash docker-compose ps docker-compose logs -f nextcloud ``` ### 4. Accedi a Nextcloud Apri il browser e vai a: `http://localhost:8080` (o la porta configurata) - Username: `admin` (o quello configurato in `.env`) - Password: quella impostata in `NEXTCLOUD_ADMIN_PASSWORD` ### 5. Configura Collabora in Nextcloud 1. Accedi a Nextcloud come amministratore 2. Installa l'app **Nextcloud Office** (ex Collabora Online): - Menu → App → Sezione "Office & text" → Installa "Nextcloud Office" 3. Vai in **Impostazioni** → **Amministrazione** → **Collabora Online** 4. Seleziona "Usa il tuo server" 5. Inserisci l'URL: `http://collabora:9980` 6. Salva ## Porte utilizzate - `8080`: Nextcloud Web UI - `9980`: Collabora Online ## Volumi I dati persistenti sono salvati nei volumi Docker: - `db_data`: Database MariaDB - `nextcloud_data`: File e configurazioni Nextcloud ## Backup Per fare il backup: ```bash # Backup dei volumi docker run --rm -v nextcloud_db_data:/data -v $(pwd):/backup alpine tar czf /backup/db_backup.tar.gz -C /data . docker run --rm -v nextcloud_nextcloud_data:/data -v $(pwd):/backup alpine tar czf /backup/nextcloud_backup.tar.gz -C /data . ``` ## Comandi utili ```bash # Avvia i servizi docker-compose up -d # Ferma i servizi docker-compose down # Visualizza i log docker-compose logs -f # Riavvia un servizio specifico docker-compose restart nextcloud # Aggiorna le immagini docker-compose pull docker-compose up -d ``` ## Troubleshooting ### Collabora non si connette 1. Verifica che il container sia attivo: `docker-compose ps` 2. Controlla i log: `docker-compose logs collabora` 3. Verifica che l'URL in Nextcloud sia: `http://collabora:9980` ### Errore "Trusted domain" Aggiungi il tuo dominio in `.env` nella variabile `NEXTCLOUD_TRUSTED_DOMAINS`: ``` NEXTCLOUD_TRUSTED_DOMAINS=localhost,192.168.1.100,your-domain.com ``` Poi riavvia: ```bash docker-compose restart nextcloud ``` ### Performance lente Redis è già configurato per la cache. Puoi verificare che sia attivo: ```bash docker-compose exec nextcloud php occ config:system:get redis host ``` ## Reverse Proxy (opzionale) Se usi un reverse proxy (nginx, Traefik, etc.), configura: 1. Imposta `OVERWRITEPROTOCOL=https` in `.env` 2. Imposta `OVERWRITEHOST=your-domain.com` in `.env` 3. Configura il reverse proxy per puntare a `localhost:8080` (Nextcloud) e `localhost:9980` (Collabora) ## Sicurezza - **Cambia tutte le password** nel file `.env` - Non esporre le porte direttamente su Internet senza un reverse proxy con HTTPS - Considera l'uso di certificati SSL/TLS (Let's Encrypt) - Mantieni aggiornate le immagini Docker ## Licenza Questo è un setup di esempio. Consulta le licenze dei singoli progetti: - Nextcloud: AGPLv3 - Collabora Online: MPLv2 (versione CODE - Community)