Files
nextcloud/README.md
2026-03-09 11:56:45 +01:00

153 lines
3.7 KiB
Markdown

# 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=<password-sicura>
MYSQL_PASSWORD=<password-nextcloud>
NEXTCLOUD_ADMIN_PASSWORD=<password-admin>
COLLABORA_PASSWORD=<password-collabora>
# 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)