GNU/Linux >> Linux Esercitazione >  >> Panels >> Docker

10 suggerimenti facili da seguire per la gestione di un'istanza Nextcloud self-hosted con Docker

Nextcloud non ha bisogno di presentazioni. È il software open source più popolare per l'hosting automatico di una suite di collaborazione che ti dà accesso alla collaborazione sui documenti, all'hosting di file, alle schede di gestione dei progetti e al servizio di chat.

Abbiamo utilizzato Nextcloud per gestire le attività del nostro team su Linux Handbook e It's FOSS. Ospitiamo autonomamente la nostra istanza Nextcloud con il contenitore Docker. Questa esperienza di self-hosting ci ha insegnato diverse lezioni importanti e le condividerò con te. Questo ti aiuterà se sei un amministratore di Nextcloud quotidiano.

Presumo che tu usi Docker per distribuire Nextcloud. La maggior parte dei suggerimenti è incentrata su questo, mentre alcuni sono consigli generici validi per tutti i tipi di implementazioni Nextcloud.

1. Usa il comando occ su Nextcloud con Docker

Il comando occ deriva da ownCloud, che è l'abbreviazione di "ownCloud Console" utilizzato principalmente per la manutenzione, la diagnosi e le correzioni. Poiché Nextcloud è un fork della base di codice di ownCloud 2016, occ il design è molto simile.

Per gli amministratori di Nextcloud, la conoscenza del suo utilizzo può essere estremamente utile per le attività di manutenzione e quindi il manuale di riferimento è molto utile.

Tuttavia, su Docker, la sintassi specifica su come utilizzarlo è piuttosto diversa e più lunga:

docker exec -u www-data -it nextcloud php occ <command>

Qui stai usando docker exec con www-data come utente. nextcloud è il nome del contenitore Nextcloud Docker e php viene utilizzato per eseguire occ comando dall'interno del contenitore.

2. Non aggiornare Nextcloud subito dopo una nuova versione

Una nuova versione di Nextcloud può essere molto allettante. Ma è stato osservato molte volte che eseguire subito un aggiornamento frettolosamente può potenzialmente rendere Nextcloud completamente inutilizzabile.

Consiglio di attendere almeno il rilascio della prima patch. Ad esempio, l'aggiornamento da 20.0.6 a 21.0.0 può essere un'esperienza rischiosa. NON è consigliato un aggiornamento diretto da xx.0.x a xy.0.0. Invece, un approccio migliore sarebbe aspettare almeno la versione xy.0.1.

3. Dai la priorità alla sicurezza e alle correzioni di bug rispetto alle funzionalità ogni volta che aggiorni Nextcloud

È facile farsi tentare da una nuova funzionalità disponibile solo su una versione appena rilasciata. Assicurarsi che l'aggiornamento non sia a scapito di prestazioni ridotte o funzionalità deteriorate. Potrebbe riguardare Nextcloud nella sua interezza o un'app Nextcloud specifica che può compromettere seriamente la tua produttività.

4. Cose da considerare prima di aggiornare la tua istanza Nextcloud

Controlla attentamente il forum ufficiale e il repository GitHub per i problemi più recenti ogni volta che stai pensando di aggiornare. Sfortunatamente, come viene notato in questi giorni, è molto comune al giorno d'oggi che un problema abbia reso l'interfaccia di Nextcloud estremamente lenta.

Quindi, assicurati di poter replicare lo scenario su un server clonato e la sua soluzione prima di farlo su un server di produzione. Metti in attesa l'aggiornamento se peggiora la funzionalità.

5. Eseguire sempre il backup del database e del volume Nextcloud prima di un aggiornamento

A livello di sistema host, non è mai possibile utilizzare gli stessi file su un Nextcloud aggiornato con una versione sottoposta a downgrade. Pertanto, crea sempre un backup del tuo Nextcloud e del volume del database corrispondente prima di eseguire l'aggiornamento. L'approccio è lo stesso di cui ho discusso per Ghost in un post precedente.

7 Suggerimenti utili per l'hosting automatico di un blog Ghost con DockerUn utile elenco di controllo che può impedire che molti problemi di manutenzione ricorrenti si verifichino sull'istanza Ghost Docker dopo la distribuzione. Manuale LinuxAvimanyu Bandyopadhyay

6. Tieni regolarmente d'occhio la sezione "Panoramica" all'interno delle impostazioni di Nextcloud

Sai che c'è una sezione panoramica sotto le Impostazioni? Questa sezione ti avverte di eventuali problemi di sicurezza e configurazione.

Puoi accedervi andando nell'angolo in alto a destra della dashboard e vai alle impostazioni.

Vedrai l'opzione Panoramica nella sezione Amministrazione.

È qui che puoi avere un'idea di eventuali problemi di prestazioni o sicurezza sul tuo Nextcloud attraverso i report pertinenti sulla dashboard.

7. Garantire controlli regolari per la sicurezza

Nextcloud fornisce uno strumento web gratuito per verificare eventuali vulnerabilità note sul tuo server Nextcloud. La cosa migliore qui è che non hai nemmeno bisogno di installare nulla sul tuo server. Basta inserire l'URL della tua istanza.

Di tanto in tanto, si consiglia vivamente di scansionare l'URL dell'istanza per avere un'idea dei parametri di sicurezza della distribuzione di Nextcloud.

8. Tieni d'occhio le app che usi

È noto che molte app su Nextcloud hanno reso l'intera interfaccia di Nextcloud completamente inutilizzabile. Tieni d'occhio i forum e i problemi di GitHub delle singole app che utilizzi sulla tua istanza Nextcloud.

9. Clona il tuo server di produzione per testare gli aggiornamenti

Se utilizzi un server cloud come Linode, hai la possibilità di clonare facilmente l'intero server.

linode | The Independent Open Cloud for DevelopersLa nostra missione è accelerare l'innovazione rendendo il cloud computing semplice, conveniente e accessibile a tutti. Linode

Questo è un passaggio estremamente utile per ridurre al minimo i tempi di inattività (se presenti) ogni volta che stai pensando di aggiornare la tua istanza Nextcloud. Garantisce inoltre una copia di backup live della tua istanza Nextcloud disponibile a intervalli periodici ogni volta che cloni il tuo server.

Dopo esserti assicurato che sia un aggiornamento stabile, continua a monitorarlo per qualche tempo sul server clonato. Quando sei assolutamente sicuro che si tratti di una transizione stabile, registra la tua esperienza attraverso una documentazione completa del processo di aggiornamento e dei passaggi che potresti aver adottato per risolvere eventuali problemi dopo l'aggiornamento. Successivamente, puoi continuare e replicare gli stessi passaggi sul server di produzione seguendo la tua documentazione.

10. Cerca i problemi segnalati sui forum

Nextcloud di solito fornisce un processo graduale di risoluzione dei problemi segnalati nelle impostazioni di panoramica. Se ciò diventa insufficiente, puoi copiare e incollare i problemi segnalati su "Problemi con GitHub" o sul forum Nextcloud.

È molto probabile che il problema sia noto e che la correzione sia già stata fornita. Senza aspettare la prossima patch, puoi prima testare la correzione su un server clonato e mitigarla tu stesso.

Suggerimento bonus

In generale, Nextcloud consiglia di passare alla modalità di manutenzione quando sono necessari comandi specifici.

Ad esempio, occ db:convert-filecache-bigint ciò implica che gli identificatori BigInt (64 bit) vengano suggeriti dopo un aggiornamento.

Ma preferirei passare sempre alla modalità di manutenzione prima di eseguire qualsiasi comando occ suggerito nella "Sezione Sistema e sicurezza".

Facendo seguito al comando di esempio menzionato al punto 1, il comando corrispondente sarebbe:

docker exec -u www-data -it nextcloud php occ maintenance:mode --on

Ora esegui il comando come suggerito. Ad esempio, supponi di notare questo messaggio:

Some indices are missing in the database. Because adding indexes to large tables may take some time, they have not been added automatically. By executing "occ db: add-missing-indices", missing indexes can be added manually while the instance is running. Once the indexes have been added, queries to these tables are usually faster.

Qui, il suggerimento è di eseguire occ db: add-missing-indices . Ma come discusso al punto 1, questa raccomandazione è insufficiente; soprattutto se esegui Nextcloud con Docker. Quindi il comando completo richiesto qui è:

docker exec -u www-data -it nextcloud php occ db: add-missing-indices

[email protected]:~$ docker exec -u www-data -it nextcloud php occ db:add-missing-indices
Check indices of the share table.
Check indices of the filecache table.
Check indices of the twofactor_providers table.
Check indices of the login_flow_v2 table.
Check indices of the whats_new table.
Check indices of the cards table.
Check indices of the cards_properties table.
Check indices of the calendarobjects_props table.
Adding calendarobject_calid_index index to the calendarobjects_props table, this can take some time...
calendarobjects_props table updated successfully.
Check indices of the schedulingobjects table.
Adding schedulobj_principuri_index index to the schedulingobjects table, this can take some time...
schedulingobjects table updated successfully.

Ora disattiva la modalità di manutenzione:

docker exec -u www-data -it nextcloud php occ maintenance:mode --off

Spunti di riflessione

Tutti i 10 suggerimenti di cui sopra sono il risultato di averlo sperimentato su un sistema di produzione dal vivo per oltre un anno. Durante questo periodo, il seguente triangolo è stata una guida molto importante per me per mantenere un delicato equilibrio tra sicurezza, usabilità e funzionalità e correlarlo con il modo in cui Nextcloud opera.

Questo vale per ogni sistema di distribuzione e non solo Nextcloud. Indubbiamente, questi sono i pilastri fondanti di qualsiasi implementazione basata su DevOps.

Quando si tratta di Nextcloud, devi sempre tenere a mente la differenza fondamentale tra Nextcloud e Nextcloud Hub. Nextcloud stesso è principalmente un servizio di file hosting, mentre Nextcloud Hub è una piattaforma di collaborazione di contenuti (un sottoinsieme di Nextcloud).

Come puoi mettere in relazione questo scenario con funzionalità e facilità d'uso? Nella discussione precedente, ho menzionato Collabora Online, che è una parte di Nextcloud Hub che può essere chiaramente correlata alla facilità d'uso.

Se l'intera dashboard di Nextcloud si blocca a causa di una versione appena rilasciata di Collabora Online, la sua funzionalità va completamente in tilt. Collabora Online è stato fornito in bundle con Nextcloud Hub tenendo presente la facilità d'uso di gestione dei documenti online. Ma se ciò avviene a costo di rallentare drasticamente l'intera GUI e renderla completamente inutilizzabile, vanifica completamente il suo scopo principale! Pertanto, è sempre molto necessario tenere d'occhio il mantenimento di questo delicato equilibrio tra funzionalità e usabilità (con un occhio attento alla sicurezza, ovviamente).

Ogni applicazione è diversa e quindi il modo in cui si calibra ciascuna di queste 3 metriche può essere estremamente cruciale, a seconda di caso per caso.

Spero davvero che questi suggerimenti e pensieri ti aiutino a gestire la tua istanza Nextcloud su base giornaliera, soprattutto se sei un amministratore che gestisce un servizio Nextcloud self-hosted con Docker. Se hai commenti, suggerimenti o un nuovo punto da condividere, fallo nella sezione sottostante.


Docker
  1. 3 consigli per la stampa con Linux

  2. 4 suggerimenti per ottenere un parente più anziano online con Linux

  3. Configura Nextcloud con Redis usando Docker

  4. Distribuisci Nextcloud su Docker utilizzando Ansible

  5. Come installare Jenkins con Docker

5 consigli per configurare virtualenvs con Ansible Tower

Integra Collabora Online con Nextcloud su Ubuntu senza Docker

Come scansionare le immagini del contenitore Docker per le vulnerabilità con Trivy

Come eseguire NGINX Inside Docker (per un ridimensionamento automatico semplice)

Come automatizzare gli audit di sicurezza Docker con Docker Bench per la sicurezza

Comandi Docker per la gestione del ciclo di vita dei container (Guida definitiva)