Actualización Social

Hola,

Ayer actualicé el mastodon de la versión 4.1.6 a la 4.2.0.

Primero realicé una copia de seguridad y después seguí las instrucciones en:

En el paso de hacer la migración de la base de datos me dio varias veces error por campos duplicados que no podían estarlo (por ejemplo usuarios remotos repetidos).
Paso:
SKIP_POST_DEPLOYMENT_MIGRATIONS=true RAILS_ENV=production bundle exec rails db:migrate

Lo que hice fue, entrando dentro de la base de datos:

sudo su -- postgres
psql
\c mastodon_production

Para identificar campo duplicado:

SELECT id,username,domain FROM accounts WHERE username='example';

y luego eliminé una de las dos entradas fijándome en su campo id:

DELETE FROM accounts WHERE id='idexample';

Una vez eliminadas todas las duplicaciones la migración se realizó sin problemas y en principio todo funciona. Si detectáis alguna anomalía nos lo podéis comunicar por aquí.

Un saludo!

6 Me gusta

Gràcies per deixar-ho tot tant documentat ^^

1 me gusta

Ahora he visto que las duplicaciones igual se pueden solucionar con este script (mejor que hacerlo manualmente):

Por cierto, he aprovechado y acabado de actualizar a la última version, la v.4.2.1.

2 Me gusta

Hola!

Ha salido una actualización crítica en la versión 4.2.5. Nosotras estamos un poco atrás, en la 4.2.1.

El próximo lunes 5 de Febrero a las 18:00 horas voy a realizar la actualización. Puede haber cortes en esos momentos. Estaré conectado en una sala jitsi que pondré por aquí por si alguien quiere acompañarme y ver cómo se hace.

Un saludo!

EDIT: estaré en https://meet.exo.cat/anartist

3 Me gusta

Hola,

Con @holosimbionte hemos actualizado la versión de Mastodon de v.4.2.1 a v.4.2.5.

Lo primero que hemos hecho es hacer una copia de seguridad como root:

sudo su
cd
bash borgscript_update.sh

A partir de ahí, hemos seguido con las instrucciones generales de actualización y las de las releases intermedias de v.4.2.2, v.4.2.3, v.4.2.4 y la final v.4.2.5.

Lo primero es registrarse como usuario mastodon, ir al directorio de instalación y definir en git a qué versión queremos actualizar:

sudo su - mastodon
cd /home/mastodon/live/
git fetch --tags
git checkout v4.2.5

Luego, una instrucción de la versión 4.2.4 es actualizar Ruby a 3.2.3 con el siguiente comando:

RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install

Sin embargo, daba un error y nos sugería actualizar el build con la siguiente línea:

git -C /home/mastodon/.rbenv/plugins/ruby-build pull                                                

Tras actualizarse Ruby, pudimos seguir sin problemas con las instrucciones:

RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install
bundle install
yarn install --frozen-lockfile
RAILS_ENV=production bundle exec rails assets:precompile

Tras precompilar los assets nos informa que uno de los programas está desactualizado y nos sugiere un comando para actualizarlo. Lo ejecutamos:

npx update-browserslist-db@latest

Finalmente, vuelvo a mi usuario para reiniciar los servicios que nos indica las instrucciones:

sudo systemctl restart mastodon-sidekiq
sudo systemctl reload mastodon-web

Existe el servicio de la API, pero en las instrucciones indican que es mejor evitarlo a no ser que se indique de forma explicita en las instrucciones de la versión:

Restarting the streaming API leads to an increased load on your server as disconnected clients attempt to reconnect or poll the REST API instead, so avoid it whenever you can.

Y ya está, estamos a la última!

3 Me gusta

Hoy mastodon ha vuelto a sacar un parche marcado como crítico, así que he aprovechado que estaba de mantenimiento de otras herramientas para actualizar.

Ya estamos a la versión v4.2.6. Diario de sesión:

sudo su - mastodon
cd /home/mastodon/live/
git fetch && git checkout v4.2.6

bundle install
yarn install --frozen-lockfile
exit

sudo systemctl restart mastodon-sidekiq
sudo systemctl reload mastodon-web
``
2 Me gusta

Hola,

Hoy han vuelto a publicar una actualización de seguridad crítica en Mastodon. Ya es la 3a en poco tiempo!! Espero que se calme un poco…

En cualquier caso he actualizado a la versión 4.2.7.

Lo primero ha sido crear una copia de seguridad.

Luego he revisado la nota de lanzamiento.

Allí advierten de comprobar la vesrión de ImageMagick.

:bulb: Tip
If your uploaded images are broken after the upgrade, it means your installed ImageMagick version is older than the new minimum version (6.9.7-7), for example if you are running Ubuntu 18.04. If this happens, you can find more information and ways to fix it on this page.

Lo hago así:

mastodon@social:~/live$ convert -version
Version: ImageMagick 6.9.10-23 Q16 x86_64 20190101 https://imagemagick.org
Copyright: © 1999-2019 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php

Tras eso, me registro como usuario mastodon y sigo las instrucciones habituales:

sudo su - mastodon
cd /home/mastodon/live/
git fetch && git checkout v4.2.7

bundle install
yarn install --frozen-lockfile
exit

sudo systemctl restart mastodon-sidekiq
sudo systemctl reload mastodon-web
1 me gusta

Hola!

Hemos actualizado a la versión menor v4.2.8 sin problemas.

A parte de los comandos habituales y siguiendo la nota de release, después del yarn install había que ejectuar:
RAILS_ENV=production bundle exec rails assets:precompile

1 me gusta

He actualizado a la versión v4.2.9.

Comandos:

sudo su - mastodon
cd /home/mastodon/live/
git fetch && git checkout v4.2.9

bundle install
yarn install --frozen-lockfile
exit

sudo systemctl restart mastodon-sidekiq
sudo systemctl reload mastodon-web
1 me gusta

Parece que hay una actualización crítica del Mastodon:

Warning

This release is an important security release fixing a major security issue.

A corresponding security release is available for the 4.1.x branch.

Este fin de semana actualizo.

1 me gusta

:smiling_face_with_tear::clap::clap::clap: eres un heroe carnal, muchas gracis

1 me gusta

Hecho!

Ya estamos en la v4.2.10.

3 Me gusta

Hola,

He actualizado la versión de mastodon en dos pasos:
v.4.2.10 → v.4.3.0 → v.4.3.2

El paso a la rama 4.3 implicaba bastantes cambios (algunos los veréis porque afectan a la interfaz) y también actualizaban algunas dependencias, que requieren una versión superior.

He seguido la guía de la release.

Preparación de la actualización:

Yarn

He tenido que actualizar yarn de v1.2 a v4. Ha sido un poco complicado porque había una versión general, otra del proyecto y una que se había instalado en un directorio superior. Hasta que no me he dado cuenta de esta última y la he eliminado no me ha funcionado.

Como usuario sudo ir al directorio de mastodon (/home/mastodon/live y ejecutar:

corepack enable

Como usuario mastodon:

corepack prepare

Si no instala o se queda en versión inferior:

corepack up

PostgreSQL to v.12+

También me ha dado quebradero de cabezas, porque estaban instaladas las versiones 10 y 12, pero la base de datos de mastodon_production estaba en la versión 10.

Para migrarla he usado esta respuesta de stakcoverflow, que está muy clara. Básicamente:

  1. Cambiar a usuario postgres
    sudo su postgres
  2. Hacer un backup de las bases de datos (menos mal que lo hice, esto me ahorró perder más).
    pg_dumball /tmp/backup.sql
  3. Como usuaria con permisos sudo, parar el servicio:
    sudo systemctl stop postgresql.service
  4. Migrar los datos:
/usr/lib/postgresql/12/bin/pg_upgrade \
--old-datadir=/var/lib/postgresql/10/main \
--new-datadir=/var/lib/postgresql/12/main \
--old-bindir=/usr/lib/postgresql/10/bin \
--new-bindir=/usr/lib/postgresql/12/bin \
--old-options '-c config_file=/etc/postgresql/10/main/postgresql.conf' \
--new-options '-c config_file=/etc/postgresql/12/main/postgresql.conf'
  1. Como usario sudo cambiar los puertos de cada versión:
#change port to 5432
sudo vim /etc/postgresql/12/main/postgresql.conf
#change port to 5433
sudo vim /etc/postgresql/10/main/postgresql.conf
  1. Arrancar el servicio otra vez.
    sudo systemctl start postgresql.service
  2. Como usuario postgres ir a ~ y ejecutar el script que se ha generado:
    ./analyze_new_cluster.sh
  3. Para evitar conflictos, eliminar la versión 10:
#uninstalls postgres packages     
sudo apt-get remove postgresql-10
#removes the old postgresql directory
sudo rm -rf /etc/postgresql/10/
#login as postgres user
sudo su postgres
#delete the old cluster data
./delete_old_cluster.sh

En pasos posteriores se me corrompió la base de datos (tuve que interrumpir una migración que lo provocó) así que tuve que restaurar del backup. Primero eliminé la database.

sudo -u postgres sql
DROP DATABASE mastodon_production;

Y luego, como usuaria postgres:
psql -f /tmp/backup.sql postgres

Configuraci’on de Active Record encryption secrets

Esto fue sencillo siguiendo la documentación:

sudo su -- mastodon
export PATH="$HOME/.rbenv/bin:$PATH"
cd ~/live
RAILS_ENV=production bin/rails db:encryption:init

Y añadir lo que te devuelve al fichero .env.production:

# Encryption secrets
# ------------------
# Must be available (and set to same values) for all server processes
# These are private/secret values, do not share outside hosting environment
# Use `bin/rails db:encryption:init` to generate fresh secrets
# Do not change these secrets once in use, as this would cause data loss and other issues
# ------------------
ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY= XXXXXXXXXXXXXXXXX
ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT=XXXXXXXXXXXXXXXX
ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY=XXXXXXXXXXXXXXXXXXXXXXXX

A partir de ahí, ya seguí los pasos requeridos para hacer la actualización (versión non-Docker).

Versión 4.3.2

Esta actualización fue mucho más sencilla. Siguiendo los pasos de la release:

sudo su mastodon
cd ~/live
git fetch && git checkout v4.3.2
bundle install
yarn install --immutable
RAILS_ENV=production bundle exec rails assets:precompile
exit
sudo systemctl restart mastodon-sidekiq.service
sudo systemctl restart mastodon-web.service
1 me gusta

Ayer salió una actualización importante de seguridad, así que he actualizado a la versión 4.3.4:

sudo su - mastodon
cd /home/mastodon/live/
git fetch && git checkout v4.3.4

bundle install
yarn install --frozen-lockfile
exit

sudo systemctl restart mastodon-sidekiq
sudo systemctl reload mastodon-web
sudo systemctl restart mastodon-streaming
2 Me gusta

Se ha actualizado a la versión v4.5.4!

Ahora ya tenemos disponible la opción de citar otras publicaciones.

2 Me gusta

Hola!

Hoy estaré actualizando el mastodon. Estará inaccesible durante un tiempo.

Hecho!

He actualizado el mastodon a la versión v4.6.3.

  1. He tenido que actualizar el nodejs a v24.
    1.1 He eliminado la versión de apt
    1.2 He instalado según el código oficial con el gestor fnm.
    1.3 Hasta que no he hecho corepack enable yarn me daba error de que no estaba instalado.
  2. He actualizado manualmente la versión de ffmpeg siguiendo las instrucciones de pixelfed.
3 Me gusta