Actualizar manualmente Discourse e imagen de Docker a la última versión

:bookmark: Esta guía proporciona instrucciones paso a paso para actualizar manualmente Discourse, el contenedor Docker y el sistema operativo Ubuntu en una instalación autoalojada.

:person_raising_hand: Nivel de usuario requerido: Administrador del sistema

:warning: Acceso SSH al servidor.

Si aloja Discourse por su cuenta, ocasionalmente necesitará ejecutar una actualización manual a través de la línea de comandos para obtener los últimos lanzamientos de seguridad y las bibliotecas más nuevas.

Estas actualizaciones no se detectan en admin/upgrade, por lo que ocasionalmente deberá realizar estos pasos adicionales:

Actualización de Discourse

  1. El propio Discourse debe actualizarse aproximadamente dos veces al mes, haciendo clic en el botón “Actualizar a la última versión” en su panel de administración (admin/upgrade).

  2. Cada dos meses, recomendamos conectarse por SSH a su servidor web (usando putty o su cliente SSH favorito) y ejecutar los siguientes comandos, especialmente si la página de actualización no aparece o si tiene algún problema al intentar actualizar.

cd /var/discourse
./launcher rebuild app

Actualización de la imagen Docker y el sistema operativo Ubuntu

Para las actualizaciones de Ubuntu, ¡asegúrese de tener habilitadas las actualizaciones de seguridad automáticas para su Ubuntu! El comando es:

dpkg-reconfigure -plow unattended-upgrades

Sin embargo, eso solo cubre las actualizaciones de seguridad críticas. De vez en cuando, debería obtener todas las actualizaciones del sistema operativo como se muestra a continuación:

apt-get update
apt-get dist-upgrade

Esto también mantendrá Docker actualizado a través de los paquetes docker-ce estándar.

En resumen:

  • Actualizar Discourse dos veces al mes a través del actualizador web
  • Actualizar el contenedor cada dos meses
  • Actualizar el sistema operativo cada seis meses

Podría duplicar estos números y seguir estando bastante seguro, por ejemplo, actualizar Discourse una vez al mes, el contenedor cada 4 meses, el sistema operativo una vez cada 12 meses, y así sucesivamente.

Pero realmente, realmente desea que las actualizaciones de seguridad automáticas estén habilitadas en Ubuntu, como se mencionó anteriormente.

Preguntas frecuentes

¿Cuál es el momento adecuado para actualizar?

Simplemente depende del tiempo que tenga disponible y de qué tan cerca del límite desee estar. Si tiene complementos no oficiales, es muy recomendable utilizar un sitio de prueba/staging. Si no tiene ningún complemento no oficial, probablemente pueda actualizar de inmediato, pero incluso entonces, algunos complementos pueden dejar de funcionar durante un par de días mientras el equipo los soluciona (hay muchos).

¿Cuál es la práctica común al actualizar con muchos complementos instalados?

Si tiene muchos complementos, se recomienda encarecidamente realizar pruebas localmente o en un servidor de prueba. Especialmente si tiene complementos no oficiales, ya que algo podría haberse roto. Si descubre que algo se rompe, entonces es una cuestión de: ¿tiene tiempo para arreglarlo? ¿Tiene tiempo el autor original del complemento para arreglarlo? Cualquiera de esas cosas podría llevar semanas. Así que al menos de esta manera, simplemente tiene un sitio de prueba roto y no un sitio de producción roto.

Me estoy quedando sin espacio en disco

Si se está quedando sin espacio en disco (compruébelo con df), intente limpiar imágenes antiguas usando:

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

¿Importa actualizar la versión real de Ubuntu del servidor ya que Discourse siempre opera en Docker?

Importa mucho menos. Pero debe estar en al menos una versión LTS de Ubuntu Server actualmente soportada. Se requiere un sistema operativo Linux de 64 bits con una versión moderna del kernel.

178 Me gusta
"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?