Come ospitare autonomamente un cloud collaborativo con Nextcloud e Docker

0
208
monticello/Shutterstock.com

Nextcloud è una piattaforma di condivisione file e collaborazione open source per rivaleggiare con servizi come Google Workplace e Microsoft 365. Nextcloud ti consente di ospitare autonomamente il tuo cloud collaborativo, quindi non devi incatenarti a un fornitore pubblico.

Un'installazione regolare di Nextcloud può richiedere molto tempo. Nextcloud è basato sul classico stack LAMP, quindi avrai bisogno di Apache, PHP e MySQL, ognuno con i propri prerequisiti. Ciò può rendere difficile mantenere l'installazione o utilizzarla insieme ad altri carichi di lavoro sul server.

L'esecuzione di Nextcloud come contenitore Docker semplifica la procedura di configurazione e consente di isolare l'installazione dalle altre applicazioni. Nextcloud ha un'immagine Docker ufficiale, su cui ci concentreremo in questo articolo. Il progetto community linuxserver fornisce anche la propria immagine con alcune impostazioni predefinite preconfigurate.

Pianificazione dell'installazione

L'immagine Nextcloud Docker viene fornita con un configurazione del server web. Avrai Apache, PHP e un'installazione Nextcloud preconfigurata. Per impostazione predefinita viene utilizzato un database SQLite.

Mentre un docker di base run -d -p 80:80 nextcloud aprirà un server pronto per l'esecuzione, questo non include la fornitura di storage persistente. L'aspetto più critico dell'implementazione di Dockerized Nextcloud è la corretta configurazione del volume in modo da non perdere i dati.

Pubblicità

Inoltre, il database SQLite standard è adatto solo per un utilizzo su piccola scala . Se hai più di una manciata di utenti, il provisioning di un database MySQL o PostgreSQL migliorerà le prestazioni.

Ora creiamo un'installazione Dockerized Nextcloud che viene eseguita su MySQL e utilizza i volumi Docker per mantenere in sicurezza i tuoi dati. Se preferisci usare PostgreSQL, sostituisci i riferimenti a MySQL di seguito con le loro controparti PostgreSQL.

Preparazione

Puoi distribuire Nextcloud utilizzando le Comandi dell'interfaccia della riga di comando di Docker. Tuttavia, questo diventa rapidamente noioso, per non dire difficile da ricordare in futuro. Invece, l'utilizzo di Docker Compose ti consente di definire la configurazione come codice.

Assicurati di avere Docker e Docker Compose installati sul tuo sistema. Crea una nuova directory per contenere i file di configurazione di Nextcloud. Aggiungi un file docker-compose.yml e incolla i seguenti contenuti:

versione: "3" servizi: nextcloud: immagine: nextcloud:ultimo riavvio: a meno che non siano interrotte porte: – 80:80 ambiente: – MYSQL_HOST=mysql – MYSQL_DATABASE=nextcloud – MYSQL_USER=nextcloud – MYSQL_PASSWORD=nextcloud volumi: – nextcloud:/var/www/html mysql : image: mysql:8.0 riavvio: ambiente a meno che non sia stato arrestato: – MYSQL_DATABASE=nextcloud – MYSQL_USER=nextcloud – MYSQL_PASSWORD=nextcloud – MYSQL_ROOT_PASSWORD=nextcloud volumi: – mysql:/var/lib/mysql:cloud next: mys Il file Compose racchiude tutta la configurazione per un'installazione sicura di Nextcloud. Fornisce un database MySQL e configura Nextcloud per connettersi ad esso. Dovresti impostare MYSQL_PASSWORD e MYSQL_ROOT_PASSWORD per proteggere i valori personalizzati.

L'intera directory /var/www/html è montata come volume Docker. Nextcloud memorizza qui la sua fonte, le impostazioni e i dati dell'utente. Trasformando l'intera directory in un volume, l'auto-aggiornamento di Nextcloud funzionerà correttamente. Altrimenti, dovresti estrarre una nuova immagine del contenitore da aggiornare, poiché l'auto-aggiornamento non sarebbe in grado di sostituire in modo permanente i file di Nextcloud.

Annuncio

Il server Nextcloud si collegherà alla porta 80 sulla tua macchina per impostazione predefinita. Puoi utilizzare una porta diversa, come 8080, aggiornando la configurazione delle porte:

– 8080:80

Ora sei pronto per distribuire Nextcloud con Docker Compose:

docker-compose up -d

Attendi mentre Compose estrae le immagini e avvia i contenitori. Sarai quindi in grado di accedere a Nextcloud visitando localhost nel tuo browser.

Prima esecuzione

La prima volta che visiti Nextcloud, tu& #8217;verrà mostrata la procedura guidata di configurazione predefinita. Inserisci un nome utente e una password per il tuo primo account utente. Se desideri installare alcune app principali, tra cui calendario, contatti e chiamate Nextcloud Talk, lascia l'opzione “Installa app consigliate” casella di controllo spuntata.

Fai clic su “Termina configurazione” per completare il processo di installazione. L'installazione delle app potrebbe richiedere alcuni istanti. Non chiudere la scheda del browser fino al completamento della configurazione. Una volta che Nextcloud è pronto, ti verrà mostrata una rapida serie di diapositive per iniziare. Verrai quindi indirizzato alla dashboard di Nextcloud.

< p>La dashboard ti offre una vista centralizzata delle tue risorse cloud. Le singole app possono visualizzare i contenuti sulla dashboard. Puoi accedere a tutte le tue app utilizzando le icone nell'angolo in alto a sinistra.

Per installare app aggiuntive, fai clic sull'icona del tuo profilo utente nell'angolo in alto a destra. Scegli “App” dal menù. Fai clic su una delle categorie nella barra laterale sinistra per vedere tutte le app disponibili. Premi “Scarica e abilita” sotto la scheda di qualsiasi app per aggiungerla alla tua istanza Nextcloud.

Pubblicità

Le impostazioni di amministrazione di Nextcloud si trovano facendo clic sull'icona del profilo utente e scegliendo & #8220;Impostazioni” nel menù. Fare clic sui collegamenti in “Amministratore” nella barra laterale sinistra per trovare le strutture di gestione. La tua versione di Nextcloud e gli aggiornamenti disponibili vengono visualizzati nella “Panoramica” pagina.

Alcune attività di amministrazione di Nextcloud vengono richiamate tramite il binario della riga di comando occ. Questo è uno script PHP all'interno del sorgente Nextcloud. Puoi interagire con OCC utilizzando docker-compose exec senza collegarti completamente al contenitore:

docker-compose exec –user www-data php occ occ-command-here

È importante includere il –user flag in modo che occ venga eseguito come stesso utente dell'interfaccia web di Nextcloud. In caso contrario, potresti riscontrare errori di proprietà e autorizzazioni del filesystem.

Configurazione automatizzata

Molte delle impostazioni di amministrazione di Nextcloud possono essere preimpostate all'avvio del contenitore. Oltre alla configurazione del database, l'immagine supporta le variabili di ambiente per configurare un sistema di posta, connettersi all'archiviazione di oggetti remoti e creare automaticamente un utente amministratore iniziale. Quando fornisci questi valori, non sarà necessario fornirli alla configurazione guidata di prima esecuzione.

In alternativa alle variabili di ambiente, puoi utilizzare i segreti Docker per impostare i valori in modo più attento alla sicurezza. Aggiungi i tuoi valori ai file e mappali nel contenitore utilizzando la chiave dei segreti in Compose. Quindi, aggiorna la sezione ambiente per leggere i file segreti inseriti.

services: nextcloud: ambiente: – NEXTCLOUD_ADMIN_PASSWORD_FILE=/run/secrets/nextcloud_admin_password segreti: nextcloud_admin_password: file: ./nextcloud_admin_password

Quando utilizzi i segreti, ogni variabile di ambiente Nextcloud dovrebbe avere _FILE aggiunto al suo nome. Questo indica a Nextcloud di ottenere il valore dal percorso del file di riferimento.

Sicurezza

L'immagine Docker standard non imposta SSL per impostazione predefinita. È consigliabile eseguire il deployment dietro un proxy inverso con terminazione SSL come Apache, Nginx o Traefik. Questo dovrebbe quindi inoltrare le richieste al tuo contenitore Nextcloud.

Pubblicità

L'immagine Docker funziona automaticamente con le richieste proxy dagli spazi di indirizzi 10.0.0.8/72, 172.16.0.0/12 e 192.168.0.0/16. Se il tuo server proxy ha un IP diverso, dovresti aggiungerlo alla variabile di ambiente TRUSTED_PROXIES durante la distribuzione di Nextcloud. Dovrai anche impostare APACHE_DISABLE_REWRITE_IP=1.

Questi passaggi assicurano che Nextcloud gestisca correttamente le riscritture. Le istruzioni per l'utilizzo dell'immagine Docker includono ulteriori indicazioni sull'utilizzo di Nextcloud con un proxy. Puoi verificare se la tua installazione è installata correttamente utilizzando la pagina Panoramica nell'interfaccia di amministrazione.

Gestione degli aggiornamenti di Nextcloud

Quando hai distribuito Nextcloud con il file Compose sopra, dovresti essere in grado di utilizzare l'auto-aggiornamento nell'interfaccia di amministrazione per aggiornare Nextcloud. Tieni presente che in questo modo otterrai solo l'ultima fonte Nextcloud—il contenitore sottostante rimarrà lo stesso.

È una buona idea estrarre periodicamente una nuova immagine Docker. Questo ti aiuta a evitare di eseguire pacchetti del sistema operativo obsoleti, che potrebbero essere un rischio per la sicurezza.

Se stai utilizzando Docker Compose, puoi eseguire nuovamente docker-compose up con il flag –pull. Compose estrarrà automaticamente la nuova immagine e sostituirà il contenitore corrente, se necessario.

docker-compose up -d –pull

Conclusione

L'esecuzione di un server Nextcloud ti dà pieno controllo sui tuoi file. Oltre alla semplice condivisione di file, Nextcloud fornisce anche un ecosistema completo di app per la produttività. Troverai sistemi di posta elettronica, calendario, note e attività, nonché una soluzione completa per le chiamate vocali e video.

Pubblicità

L'implementazione di Nextcloud con Docker semplifica la procedura di configurazione ed evita di inquinare host con uno stack LAMP nudo. Una volta installato Nextcloud, sarai in grado di connetterti da qualsiasi client di sincronizzazione desktop e mobile supportato.

Abbiamo trattato solo le basi per rendere operativo un server Nextcloud. Se vuoi saperne di più sull'installazione delle app e sulla manutenzione della tua installazione, il manuale di amministrazione di Nextcloud fornisce istruzioni esaurienti.