En este post se relata una forma de actualizar desde la versión 3.1.2 a la 3.1.3 de Mastodon. Es una forma puesto que existen muchas formas de instalar un nodo mastodon. Si tienes mastodon en dockers 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.
Subir a la 3.1.3 supone subir de versión de redis y de ruby posiblemente. Es por esto que se ha de leer muy bien que cambios supone cada nueva versión e ir mejor despacio y dejando documentada cada actualización.
En el pasado se indicó como subir de la 3.1.1 a la 3.1.2 aquí.
En el pasado se indicó como subir de la 3.0.1 a la 3.1.1 aquí.
Vamos a pasar de la versión 3.1.2 a la 3.1.3
Versión 3.1.2 – 27 Febrero 2020 – github.com/tootsuite/mastodon/releases/tag/v3.1.2
Versión 3.1.3 – 05 Abril 2020 – github.com/tootsuite/mastodon/releases/tag/v3.1.3
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, a la escucha. Por ejemplo con netstat se puede ver así:
# netstat -pluton | egrep «puma|redis|nginx|node|postgres»
O así:
# 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.
No sin olvidar que hemos de comprobar la versión de redis y la de ruby.
$ ruby --version
$ redis-server --version
La de redis-server tiene que ser superior a la 3 y 4. Por ejemplo en mi caso tengo la 5.
La versión de ruby ha de ser la 2.6.6 . En mi caso yo disponía aún de la 2.6.1 (se ha de comprobar haciendo login con el user mastodon, en root puede que tengas otra versión de ruby diferente).
$ su - mastodon
$ cd /home/mastodon/.rbenv/plugins/ruby-build
$ git pull
$ rbenv install 2.6.6
$ rbenv global 2.6.6
Comprobando que en /home/mastodon/.bashrc se cambie también de versión a manopla:
export PATH="$HOME/.rbenv/bin:$PATH"
export PATH="$HOME/.rbenv/versions/2.6.6/bin:$PATH"
Finalmente se sale de la sessión con el user mastodon y se entra de nuevo (por ejemplo) y tendríamos que ver que hemos subido de versión a la 2.6.6 así:
$ ruby --version
Actualizar mastodon puede hacerse cambiando de cuenta a la del user mastodon.
# su - mastodon
$ cd /home/mastodon/live
$ git fetch --tags
$ git tag -l
$ git checkout v3.1.3
$ git checkout v3.1.3 --force
$ mv Gemfile.lock /tmp/
$ bundle install
$ bundle install --no-deployment
$ 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 feeds build
$ yarn upgrade
$ bundle install
$ exit
Luego a reiniciar los servicios y si todo va bien tendremos la versión 3.1.3 lista.
Saludos cordiales.