Aggiorna manualmente Discourse e l'immagine Docker all'ultima versione

:bookmark: Questa guida fornisce istruzioni passo dopo passo per aggiornare manualmente Discourse, il container Docker e il sistema operativo Ubuntu in un’installazione self-hosted.

:person_raising_hand: Livello utente richiesto: Amministratore di sistema

:warning: Accesso SSH al server.

Se gestisci Discourse in autonomia, occasionalmente devi eseguire un aggiornamento manuale tramite la riga di comando per ottenere le ultime release di sicurezza e le librerie più recenti.

Questi aggiornamenti non vengono rilevati in admin/upgrade, motivo per cui occasionalmente dovrai eseguire questi passaggi aggiuntivi:

Aggiornamento di Discourse

  1. Discourse stesso dovrebbe essere aggiornato circa due volte al mese, facendo clic sul pulsante “Update to Latest Version” (Aggiorna all’ultima versione) nella tua dashboard di amministrazione (admin/upgrade).

  2. Ogni due mesi si consiglia di connettersi via SSH al proprio web server (usando putty o il proprio client SSH preferito) ed eseguire i seguenti comandi, specialmente se la pagina di aggiornamento non viene visualizzata o si riscontrano problemi durante il tentativo di aggiornamento.

cd /var/discourse
./launcher rebuild app

Aggiornamento dell’immagine Docker e del sistema operativo Ubuntu

Per gli aggiornamenti di Ubuntu, assicurati di avere abilitati gli aggiornamenti di sicurezza automatici per il tuo Ubuntu! Il comando è:

dpkg-reconfigure -plow unattended-upgrades

Tuttavia, questo copre solo gli aggiornamenti di sicurezza critici. Di tanto in tanto dovresti ottenere tutti gli aggiornamenti del sistema operativo come segue:

apt-get update
apt-get dist-upgrade

Questo manterrà aggiornato anche Docker tramite i pacchetti standard docker-ce.

Per riassumere:

  • aggiornare Discourse due volte al mese tramite l’aggiornamento web
  • aggiornare il container ogni due mesi
  • aggiornare il sistema operativo ogni sei mesi

Potresti raddoppiare questi numeri e rimanere comunque abbastanza al sicuro, ad esempio aggiornare Discourse una volta al mese, il container ogni 4 mesi, il sistema operativo una volta ogni 12 mesi, e così via.

Ma vuoi davvero, davvero avere abilitati gli aggiornamenti di sicurezza automatici in Ubuntu, come elencato sopra.

FAQ

Qual è il momento giusto per aggiornare?

Dipende solo dal tempo che hai a disposizione e da quanto vuoi essere all’avanguardia. Se hai plugin non ufficiali, è altamente consigliabile utilizzare un sito di test/staging. Se non hai plugin non ufficiali, probabilmente puoi aggiornare immediatamente, ma anche in quel caso, alcuni plugin potrebbero essere non funzionanti per un paio di giorni mentre il team li risolve (ce ne sono molti).

Qual è la pratica comune quando si aggiorna con molti plugin installati?

Se hai molti plugin, si consiglia vivamente di testare localmente o su un server di prova. Soprattutto se hai plugin non ufficiali, poiché qualcosa potrebbe essersi rotto. Se scopri che qualcosa non funziona, allora si tratta di avere tempo per risolverlo? L’autore originale del plugin ha tempo per risolverlo? Ognuna di queste cose potrebbe richiedere settimane. Quindi, almeno in questo modo, hai semplicemente un sito di test non funzionante e non un sito di produzione non funzionante.

Sto esaurendo lo spazio su disco

Se stai esaurendo lo spazio su disco (controlla con df), prova a liberare le vecchie immagini usando:

./launcher cleanup
apt-get autoclean
apt-get autoremove

L’aggiornamento della versione effettiva di Ubuntu del server è importante dato che Discourse opera sempre in Docker?

È molto meno importante. Ma dovresti essere almeno su una release LTS di Ubuntu server attualmente supportata. È richiesto un sistema operativo Linux a 64 bit con una versione moderna del kernel.

178 Mi Piace
"Upgrade all" button is awesome!
Ubuntu 16.04 LTS - upgrade or migrate?
Cannot upgrade due to old version of docker
Daily performance reports keep asking to rebuild container
No longer getting notifications for out of date containers
Discourse stopping working - CPU/RAM load?
Manual upgrade fails
Upgrade container - keeping config and data
Installed OK. Working fine for one day. Suddenly stopped working
Issues upgrading from 1.6.0.Beta10+9 to 2.3.0.beta6
Upgrade link no longer works
Update error, website unavailable, possibly plugin related?
How to optimize storage?
Why do I need a block storage?
Digital Ocean hosting: Do I need a system admin?
Will not load, no access to installation, aufs not installed - my fix
Upgrade V2.1 Beta 2 to Beta 4 Require ./launcher rebuild app Twice
Some trouble updating (many bugs)
What makes a successful volunteer Discourse sysadmin?
Searching locks up the server for a while
Link-image not shown
Oops - Error 500 After Update From Admin Dashboard
Crash After Recent Update
Edit CSS/HTML editor cursor offset makes it unusable due to CSS font override
Oops The software powering this discussion forum encountered an unexpected problem
Upgrades via UI disabled - and not being re-enabled after SSH upgrade
Error upgrading, failed to bootstrap
Help after updating from ssh site goes down
My Discourse is Down. Certificate Issue?
Unable to update Discourse...help?
Reset password link error
Empty update page?
My website is always down
Upgrade container - keeping config and data
Failed to update Discourse new version
Unable to upgrade docker_manager
Undefined method `timeout=' for Regexp:Class
How often should I update Discourse?
Migration failed: relation "user_required_fields_versions" already exists
Kernel version upgrade required when manually updating discourse
Cannot rebuild following site failure: "postgres already running"
Visiting /admin/upgrade may lead to a server error
Updating I get a "Configuring openssh-server" message about the "sshd_config" file
Update Not Completing
Problem with api version when updating docker manager
Problem with Upgrade [error 137]
Problem updating my installation
Update in browser vs Terminal
Docker update to latest version
How often should I update Discourse?
Self hosted Reply by Email stopped working after latest update
Error 500 how to fix?
Site down after UI update
Docker update to latest version
Selectable avatars upload broken (Missing required UppyUpload config: id)
Discourse broken after failed upgrade
How to tell whether to upgrade via web or console?
Oops The software powering this discussion forum encountered an unexpected problem
Determining whether my VPS needs any upgrades (generally)
Kernel version upgrade required when manually updating discourse
Upgrade button is 500-ing for me
1.4.3 Upgrade Oddity?
Add path to cookie
Your Docker installation is not working correctly - no space left on device - safe to use ./launcher cleanup?
PNG's a no show
Upgrade from v2.0.0.beta10 +37 to 2.1.0.beta1 does fail
Kernel Panic after droplet reboot... What now?
Failed to bootstrap 1.6.0.beta 8 with out of date docker
Problem with category style = box under firefox
Site fails to load with js errors
ERROR: You are running an old version of the Discourse image
Service not available | Update Error due to broken plugin
What do you want to do about modified configuration file grub?
Failed Upgrade Discourse and Plugins
Insert Date Timezone is always UTC ; my Timezone is ignored
Admin upgrade page does not exist
Upgrading from 2.9.0.beta8 broke the site, unrecoverable
Error when upgrading and would like to solve or reset
Update failed - Not starting
Failed to rebuild: no such file /usr/local/etc/ImageMagick-6/policy.xml
Upgrade ends with FAILED TO BOOTSTRAP
"400 Bad Request" error after upgrading
Hello, after clicking login, it takes 20 seconds to load before you can enter my page. why?