Mise à jour manuelle de Discourse et de l'image Docker à la dernière version

:bookmark: Ce guide fournit des instructions étape par étape pour mettre à jour manuellement Discourse, le conteneur Docker et le système d’exploitation Ubuntu sur une installation auto-hébergée.

:person_raising_hand: Niveau d’utilisateur requis : Administrateur système

:warning: Accès SSH au serveur.

Si vous auto-hébergez Discourse, vous devez occasionnellement effectuer une mise à jour manuelle via la ligne de commande pour obtenir les dernières versions de sécurité et les bibliothèques les plus récentes.

Ces mises à jour ne sont pas récupérées dans admin/upgrade, c’est pourquoi vous devrez occasionnellement effectuer ces étapes supplémentaires :

Mise à jour de Discourse

  1. Discourse lui-même doit être mis à jour environ deux fois par mois, en cliquant sur le bouton « Mettre à jour vers la dernière version » dans votre tableau de bord d’administration (admin/upgrade).

  2. Tous les deux mois, nous vous recommandons de vous connecter en SSH à votre serveur web (en utilisant putty ou votre client SSH préféré) et d’exécuter les commandes suivantes, surtout si la page de mise à jour n’apparaît pas ou si vous rencontrez des problèmes lors de la tentative de mise à jour.

cd /var/discourse
./launcher rebuild app

Mise à jour de l’image Docker et de l’OS Ubuntu

Pour les mises à jour Ubuntu, assurez-vous d’avoir activé les mises à jour de sécurité automatiques pour votre Ubuntu ! La commande est :

dpkg-reconfigure -plow unattended-upgrades

Cependant, cela ne couvre que les mises à jour de sécurité critiques. De temps en temps, vous devriez obtenir toutes les mises à jour de l’OS comme suit :

apt-get update
apt-get dist-upgrade

Ceci mettra également à jour Docker via les paquets docker-ce standards.

Pour résumer :

  • mettre à jour Discourse deux fois par mois via le programme de mise à jour web
  • mettre à jour le conteneur tous les deux mois
  • mettre à jour l’OS tous les six mois

Vous pourriez doubler ces chiffres et rester raisonnablement en sécurité, par exemple, mettre à jour Discourse une fois par mois, le conteneur tous les 4 mois, l’OS une fois par an, et ainsi de suite.

Mais vous voulez vraiment, vraiment que les mises à jour de sécurité automatiques soient activées dans Ubuntu, comme indiqué ci-dessus.

FAQ

Quel est le bon moment pour mettre à jour ?

Cela dépend simplement du temps dont vous disposez et de la proximité avec la pointe que vous souhaitez atteindre. Si vous avez des plugins non officiels, il est fortement conseillé d’utiliser un site de test/staging. Si vous n’avez pas de plugins non officiels, vous pouvez probablement mettre à jour immédiatement, mais même dans ce cas, certains plugins peuvent être cassés pendant quelques jours pendant que l’équipe les corrige (il y en a beaucoup).

Quelle est la pratique courante lors de la mise à jour avec de nombreux plugins installés ?

Si vous avez beaucoup de plugins, il est fortement conseillé de tester localement ou sur un serveur de test. Surtout si vous avez des plugins non officiels, car quelque chose pourrait s’être cassé. Si vous constatez que quelque chose se casse, la question est de savoir si vous avez le temps de le réparer ? L’auteur original du plugin a-t-il le temps de le réparer ? Chacun de ces cas peut prendre des semaines. Au moins de cette façon, vous avez simplement un site de test cassé et non un site de production cassé.

Je manque d’espace disque

Si vous manquez d’espace disque (vérifiez avec df), essayez de nettoyer les anciennes images en utilisant :

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

La mise à jour de la version réelle d’Ubuntu du serveur est-elle importante puisque Discourse fonctionne toujours dans Docker ?

C’est beaucoup moins important. Mais vous devriez être sur au moins une version LTS actuellement prise en charge d’Ubuntu server. Un système d’exploitation Linux 64 bits avec une version de noyau moderne est requis.

178 « J'aime »
"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?