En este post se relata una forma de actualizar desde la versión 3.4.7 a la 3.4.8 de Mastodon. Es una forma puesto que existen muchas formas de instalar un nodo mastodon. Si tienes mastodon en docker esto no será de ayuda para ti posiblemente.
La idea es ir subiendo poco a poco de versión y no de golpe. Posiblemente subir del tirón a alguna versión no tenga impacto pero … mejor ir poco a poco.
Vamos a pasar de la versión 3.4.7 a la 3.4.8
Versión 3.4.7 – 30 Marzo 2022 – github.com/mastodon/mastodon/releases/tag/v3.4.7
Versión 3.4.8 – 26 Mayo 2022 – github.com/mastodon/mastodon/releases/tag/v3.4.8
Lo primero hacer copias de seguridad
Lo primero es realizar una copia del contenedor, máquina virtual si es que tienes la instancia de mastodon virtualizada o paravirtualizada. O realizar un snapshot si es posible por lo que pudiera pasar.
Realizar una copia de seguridad de las bases de datos. Se puede dejar temporalmente en /tmp si disponemos de espacio y luego ya copiarla a otro lado fuera de la máquina:
# su – postgres
$ time pg_dumpall > /tmp/pg_backup-mastodon.bak
$ du -ha /tmp/pg_backup-mastodon.bak
Realizar una copia del directorio /home/mastodon/live puede llevar más tiempo pero si no tienes una es buena cosa hacerla antes de actualizar.
Actualizamos el sistema y repositorios si lo consideramos oportuno. Si andamos en una Debian puede hacerse así:
# apt clean # apt autoclean
# apt update # apt upgrade
Comprobar que los servicios están activos
systemctl is-active mastodon-sidekiq mastodon-streaming mastodon-web
Y eso es un poco lo que se tendría que comprobar antes de ponerse a migrar a esta nueva versión.
Actualizar mastodon puede hacerse cambiando de cuenta a la del user mastodon.
# su - mastodon $ cd /home/mastodon/live $ git fetch --tags $ git checkout v3.4.8 --force $ echo "2.6.6" > .ruby-version $ bundle install $ RAILS_ENV=production bundle exec rails db:migrate $ RAILS_ENV=production bundle exec rails assets:precompile $ npx browserslist@latest --update-db $ RAILS_ENV=production bin/tootctl cache clear $ yarn upgrade $ bundle install $ RAILS_ENV=production bundle exec rails db:migrate $ exit # reboot
En realidad no es necesario hacer un reboot. Pero si puedes hazlo para ver que el sistema arranca bien los servicios al arrancar.
No olvides reiniciar los servicios.
Saludos cordiales.