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.

Questi requisiti sono documentati nella guida ufficiale all'installazione del server ownCloud Infinite Scale . Per quanto riguarda Docker, si consiglia di utilizzare le istruzioni di installazione di Ubuntu Engine e del plugin Compose fornite da Docker, anziché affidarsi a pacchetti di distribuzione potenzialmente obsoleti.

1. Verifica Docker e Docker Compose

Sul server, aggiorna prima il sistema operativo, poi verifica che Docker Engine e il plugin Compose siano disponibili:

sudo apt-get update && sudo apt-get upgrade
docker --version
docker compose version

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.

Terminale Ubuntu che mostra i comandi `docker --version` e `docker compose version` utilizzati per verificare i prerequisiti di Docker.
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.

Editor di testo che mostra un file .env di ownCloud con OCIS_DOMAIN, TRAEFIK_ACME_MAIL, SMTP_SENDER, OCIS_CONFIG_DIR e OCIS_DATA_DIR.
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.

Terminale Ubuntu nella directory di distribuzione di ownCloud con il comando docker compose config pronto per convalidare lo stack assemblato.
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.

Terminale Ubuntu nella directory di distribuzione di ownCloud che mostra il comando docker compose up -d utilizzato per avviare lo stack.
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:

  1. DNS: il nome host pubblico si risolve nell'indirizzo del server corretto.
  2. 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.
  3. Contenitori: docker compose ps -a mostra i servizi previsti in esecuzione anziché in fase di riavvio o terminati.
  4. 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.

Lascia un commento

Confronto tra strumenti di monitoraggio open-source e closed-source.

Confronto tra strumenti di monitoraggio open-source e closed-source.

Confronta strumenti di monitoraggio open source e proprietari in base a costi, supporto, personalizzazione, sicurezza e opzioni disponibili, tra cui Zabbix, Nagios, PRTG e altri.

I migliori server TFTP per Windows, Linux e macOS

I migliori server TFTP per Windows, Linux e macOS

Confronta i migliori server TFTP per Windows, Linux e macOS, tra cui SolarWinds, Tftpd64, tftpd-hpa, atftpd, haneWIN e dnsmasq.

5 migliori alternative a Microsoft Access per database desktop e web

5 migliori alternative a Microsoft Access per database desktop e web

Confronta cinque alternative a Microsoft Access per la gestione di database su desktop, SQLite, senza codice e tramite browser, evidenziandone punti di forza, limiti e casi d'uso più adatti.

Ingresso vs. Uscita: qual è la differenza nelle reti?

Ingresso vs. Uscita: qual è la differenza nelle reti?

Comprendere come i termini "ingress" e "egress" descrivono il traffico in entrata e in uscita, perché la direzione dipende dal confine della rete e come monitorare la larghezza di banda e individuare i trasferimenti di dati rischiosi.

6 migliori server Syslog gratuiti da provare per la registrazione centralizzata dei log

6 migliori server Syslog gratuiti da provare per la registrazione centralizzata dei log

Confronta sei server e collettori syslog gratuiti per Windows e Linux, inclusi strumenti con interfaccia grafica, opzioni open source, funzionalità di ricerca, avvisi e trasporto sicuro.

Cos'è IIS? Il server Web Windows di Microsoft e le sue alternative.

Cos'è IIS? Il server Web Windows di Microsoft e le sue alternative.

Scopri cosa fa Microsoft IIS, come funzionano la sua pipeline di richieste e i pool di applicazioni e quando Apache, NGINX o Caddy potrebbero essere più adatti alle tue esigenze di server web.

Risolvere l'elevato utilizzo della CPU in Jitsi Meet sui browser client.

Risolvere l'elevato utilizzo della CPU in Jitsi Meet sui browser client.

Diagnostica i picchi di utilizzo della CPU del browser Jitsi Meet e riduci il carico del client controllando i riquadri video, gli effetti della fotocamera, la grafica del browser e le impostazioni dell'host.

Come monitorare le metriche di Jitsi Videobridge con Prometheus e Grafana

Come monitorare le metriche di Jitsi Videobridge con Prometheus e Grafana

Monitora lo stato di salute, il carico della conferenza e il traffico di Jitsi Videobridge con il suo endpoint Prometheus integrato, quindi esplora e visualizza i dati in Grafana.

Come configurare un nome di dominio personalizzato per Jitsi Meet Docker

Come configurare un nome di dominio personalizzato per Jitsi Meet Docker

Configura un dominio personalizzato per Jitsi Meet Docker con DNS, URL pubblico, HTTPS, Let's Encrypt, porte del firewall, impostazioni NAT e verifica end-to-end.

Fix Zimbra Admin Console 404 Not Found After SSL Renewal

Fix Zimbra Admin Console 404 Not Found After SSL Renewal

Fix Zimbra Admin Console 404 errors after SSL renewal by checking the correct URL and port, proxy routing, service status, deployed certificates, and logs.