Come installare ownCloud Infinite Scale con Docker Compose su Ubuntu
Hai completato l'installazione con Docker Compose, l'hai eseguita docker compose up -de non riesci ancora a raggiungere ownCloud. Questo è il problema pratico più comune con Infinite Scale: i container potrebbero esistere, ma DNS, TLS, percorsi di archiviazione o un valore di ambiente richiesto impediscono all'intero stack di diventare utilizzabile.
Questa guida utilizza l'approccio Docker Compose orientato alla produzione, documentato da ownCloud per una distribuzione su singolo server. La pagina di documentazione di ownCloud è attualmente pubblicata nella sezione relativa alla documentazione di sviluppo 9.0, ma specifica esplicitamente che l'esempio di produzione scaricabile utilizza l'ultima versione stabile e punta al ramo stabile 8.2. Questa distinzione è importante: non copiare i tag dell'immagine di sviluppo in un server di produzione a meno che non si desideri intenzionalmente una build di sviluppo.
La configurazione descritta di seguito è adatta all'uso domestico e alle piccole organizzazioni che desiderano un'istanza di Infinite Scale dietro un reverse proxy con HTTPS. Presuppone Ubuntu LTS, Docker Engine, il plugin Docker Compose, un dominio di cui si ha il controllo e i diritti di amministratore sul server. L'esempio di produzione di ownCloud raccomanda circa 4-6 GB di RAM per i servizi abilitati di default e richiede almeno il dominio ownCloud; le integrazioni opzionali con l'ufficio necessitano di sottodomini dedicati.
Prima di iniziare: risolvi prima i problemi relativi alla rete e all'archiviazione.
Non iniziare scaricando i file di Compose. Prima di tutto, verifica gli elementi più difficili da correggere dopo che lo stack è già in esecuzione:
DNS: il nome host scelto, ad esempio ocis.example.com, deve risolversi nell'indirizzo IP pubblico del server.
Firewall e NAT: un'installazione esposta a Internet necessita di porte TCP 80 e 443 raggiungibili per il reverse proxy e il flusso dei certificati. SSH sulla porta TCP 22 è normalmente necessario per l'amministrazione.
Archiviazione persistente: i volumi gestiti da Docker sono comodi, ma i sistemi di produzione solitamente traggono vantaggio da percorsi ben definiti per i dati di configurazione e utente, in modo da semplificare i backup e la pianificazione della capacità.
Mittente email: l'esempio documentato di ownCloud richiede SMTP_SENDERquesta impostazione, anche se non hai ancora configurato un relay SMTP funzionante.
Il punto importante non è un numero di versione specifico stampato da questi comandi. Stai confermando che entrambi i comandi vengono eseguiti correttamente e che Compose è disponibile come docker compose. La guida di ownCloud consiglia di installare Docker dal repository ufficiale di Docker piuttosto che affidarsi ai pacchetti Docker integrati in Ubuntu, che potrebbero non essere aggiornati.
Prima di scaricare lo stack di ownCloud, verifica che Docker Engine e il plugin Docker Compose siano installati.
2. Scarica l'esempio ufficiale stabile di Compose
ownCloud fornisce un esempio completo di implementazione di Compose, anziché chiedere agli amministratori di creare uno stack di produzione da zero. Al momento della verifica, la documentazione indica che il download di produzione corrente si basa sul stable-8.2ramo perché la documentazione della versione 9.0 è ancora contrassegnata come in fase di sviluppo.
Il flusso di lavoro ufficiale scarica la deployments/examples/ocis_fulldirectory, trasferisce l'archivio risultante al server e lo estrae in un percorso come /opt/compose/ocis/ocis_full. Il nome esatto dell'archivio può cambiare con il ramo stabile, quindi usa il link di download mostrato nella documentazione attuale di ownCloud invece di inserire manualmente un nome file da un tutorial precedente.
Dopo l'estrazione, spostati nella directory di distribuzione e controlla il contenuto:
cd /opt/compose/ocis/ocis_full
ls -la
Dovresti visualizzare i file Compose, la directory di configurazione e .envil file fornito dall'esempio. Se stai aggiornando un esempio estratto esistente, esegui .envprima un backup; ownCloud avverte che l'estrazione di un pacchetto più recente potrebbe sovrascriverlo.
3. Configurare attentamente il file .env
La maggior parte dei problemi iniziali deriva dal file di configurazione dell'ambiente. Modifica il file .envnella directory estratta e procedi con le impostazioni seguendo un ordine preciso.
Imposta il dominio pubblico
Imposta OCIS_DOMAINil nome host che si risolve già sul server, ad esempio ocis.example.com. Se abiliti Collabora o ONLYOFFICE, configura anche i relativi nomi host documentati. Non utilizzare un dominio .envdiverso dai record DNS.
Preparare TLS
Per un'implementazione accessibile da Internet, l'esempio ufficiale utilizza Traefik e Let's Encrypt. Imposta TRAEFIK_ACME_MAILun indirizzo email reale di cui hai il controllo. ownCloud consiglia di utilizzare prima l'autorità di certificazione (CA) di staging di Let's Encrypt, verificare che l'emissione del certificato funzioni correttamente e solo successivamente passare all'ambiente di produzione. Questo riduce la probabilità di raggiungere i limiti di frequenza di Let's Encrypt durante la risoluzione dei problemi.
Scegli le posizioni dei dati e della configurazione
Se si desidera utilizzare uno storage montato sull'host, impostare OCIS_CONFIG_DIRi OCIS_DATA_DIRpercorsi persistenti pianificati. Assicurarsi che il filesystem sottostante disponga di capacità sufficiente e che il processo di backup includa sia la configurazione che i dati.
Imposta un mittente SMTP
Come minimo, definisci SMTP_SENDER. Puoi aggiungere l'host SMTP completo, la porta, il nome utente, la password, il metodo di autenticazione e le impostazioni di sicurezza quando sei pronto a inviare le notifiche.
Il file .env centrale controlla il dominio, l'indirizzo email del contatto del certificato, il mittente della posta e i percorsi di archiviazione persistente.
4. Convalida la configurazione di Compose, quindi avvia lo stack
Prima di scaricare e avviare i container, chiedi a Compose di renderizzare e convalidare la configurazione assemblata:
docker compose config
Se questo tentativo fallisce, correggi la sintassi o le variabili mancanti prima di continuare. Questo controllo è molto più rapido rispetto alla diagnosi di un'implementazione parzialmente avviata.
Esegui `docker compose config` prima dell'avvio in modo da individuare tempestivamente eventuali problemi di sintassi e variabili.
Una volta completata correttamente la configurazione, avviare la distribuzione in modalità distaccata:
docker compose up -d
Compose scaricherà le immagini necessarie e avvierà i servizi definiti nell'esempio. La prima esecuzione potrebbe richiedere più tempo perché è necessario scaricare le immagini e potrebbero essere richiesti i certificati.
Avvia lo stack ownCloud Infinite Scale configurato con docker compose up -d.
Se il primo avvio fallisce, procedi alla risoluzione dei problemi dal più semplice al più complesso.
Verifica lo stato del contenitore
Iniziate dalla visualizzazione Composizione anziché cercare di indovinare quale servizio ha fallito:
docker compose ps -a --format "table {{.Service}} {{.State}} {{.ID}}"
Un servizio che si arresta ripetutamente è più utile di un errore del browser perché restringe il problema a un singolo contenitore.
Consulta i log di Traefik per individuare eventuali problemi relativi ai certificati.
La guida di ownCloud raccomanda specificamente di controllare prima Traefik quando HTTPS non funziona. Le cause tipiche includono un indirizzo email di contatto ACME non valido, porte 80/443 chiuse o DNS che restituisce NXDOMAIN o punta a un IP errato. Dopo aver risolto un problema ACME, seguire le istruzioni ufficiali per rimuovere solo il volume del certificato che contiene i dati di test non riusciti. Non eliminare tutti i volumi.
Controlla i log del servizio ownCloud.
Trova l'ID del container con docker compose ps, quindi esamina i suoi log:
docker logs -f <container_id>
Il processo di inizializzazione può creare la configurazione iniziale al primo avvio. ownCloud documenta lo schema dei comandi ocis init || true; ocis serverper le implementazioni di Compose, in modo che l'inizializzazione venga saltata quando la configurazione esiste già.
Non usare docker compose down -v in modo casuale
Per interrompere la distribuzione, utilizzare:
docker compose down --remove-orphans
Non aggiungere -vvolumi a meno che tu non voglia intenzionalmente rimuoverli. ownCloud avverte esplicitamente che questa operazione può eliminare i dati di distribuzione. Se durante la risoluzione dei problemi TLS è necessario rimuovere un volume di certificati temporanei, eliminalo in modo selettivo.
Come verificare che l'installazione sia effettivamente completa
Un controllo docker compose up -dè sufficiente per un singolo controllo. Verifica il risultato a quattro livelli:
DNS: il nome host pubblico si risolve nell'indirizzo del server corretto.
TLS: il browser raggiunge il sito tramite HTTPS senza un avviso relativo al certificato. Se hai utilizzato intenzionalmente l'autorità di certificazione di staging di Let's Encrypt, verifica prima il certificato di staging, quindi passa all'ambiente di produzione come documentato.
Contenitori:docker compose ps -a mostra i servizi previsti in esecuzione anziché in fase di riavvio o terminati.
Applicazione: è possibile aprire l'URL di ownCloud configurato, accedere con le credenziali di amministratore iniziali impostate o recuperate, creare una cartella e caricare un piccolo file di prova.
Per una nuova installazione, la documentazione indica che il nome utente amministratore predefinito è admin, mentre la password può essere impostata manualmente durante la configurazione o ottenuta tramite il registro di avvio/le procedure di ripristino documentate. Modificare tempestivamente la password iniziale e non lasciare un'installazione di produzione con credenziali predefinite note.
Una volta che il servizio di file di base funziona correttamente, è possibile aggiungere componenti di collaborazione opzionali o integrazioni più avanzate. Eseguire queste operazioni dopo che l'implementazione principale è a buon punto semplifica notevolmente la risoluzione dei problemi, poiché un guasto in una suite per ufficio, in un provider di identità esterno o in un servizio antivirus non sarà più confuso con i problemi di base di DNS e TLS.
Note di manutenzione per una distribuzione stabile
Prima di un aggiornamento, esegui il backup dei dati e della configurazione e leggi le note di migrazione specifiche per la versione. La documentazione di ownCloud distingue tra aggiornamenti di routine delle immagini e aggiornamenti che potrebbero richiedere modifiche alla configurazione. Una procedura di manutenzione comune prevede l'arresto dello stack, il download delle immagini e il riavvio con la pulizia dei file orfani, ma è comunque consigliabile consultare la guida all'aggiornamento specifica per la release prima di cambiare versione.
Per un server di produzione, è importante monitorare anche l'utilizzo del disco. I volumi gestiti da Docker sono facili da configurare inizialmente, ma la crescita dello spazio di archiviazione può riservare delle sorprese quando il sistema operativo e i file utente condividono lo stesso filesystem. Se si prevede una quantità considerevole di dati, è consigliabile utilizzare percorsi di archiviazione dedicati fin dall'inizio oppure migrarli utilizzando la procedura documentata per i volumi e assegnando i permessi corretti all'utente del container.