" método `deprecated?' indefinido para nil:NilClass" na reconstrução

¡Hola!
Llevamos muchos años utilizando Discourse en community.museomix.org

Pero me encuentro con un problema extraño cuando reconstruyo el contenedor, falla con este mensaje:

 undefined method `deprecated?' for nil:NilClass

Aquí está la salida completa de discourse-doctor de la reconstrucción si puede ayudar

DISCOURSE DOCTOR Vie Ene 13 03:57:02 PM EST 2023
Sistema operativo: Linux Community 3.13.0-52-generic #85-Ubuntu SMP Wed Apr 29 16:44:17 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux


Se encontró containers/app.yml

==================== CONFIGURACIONES YML ====================
DISCOURSE_HOSTNAME=community.museomix.org
SMTP_ADDRESS=
DEVELOPER_EMAILS=foo@foo.com
SMTP_PASSWORD=
SMTP_PORT=587
SMTP_USER_NAME=
LETSENCRYPT_ACCOUNT_EMAIL='foo@foo.com' #LETSENCRYPT_ACCOUNT_EMAIL

==================== INFORMACIÓN DE DOCKER ====================
VERSIÓN DE DOCKER: Docker version 20.10.22, build 3a2c30b

PROCESOS DE DOCKER (docker ps -a)

ID DEL CONTENEDOR   IMAGEN                 COMANDO        CREADO         ESTADO                      PUERTOS     NOMBRES
f264bbb9a068   hello-world           "/hello"       hace 9 minutos   Salido (0) hace 9 minutos              sharp_pare
6cf48eb9791f   local_discourse/app   "/sbin/boot"   hace 4 días      Salido (6) hace 12 minutos             app

==================== ¡¡¡PROBLEMA GRAVE!!! ====================
¡app no se está ejecutando!
Intentando reconstruir
==================== REGISTRO DE RECONSTRUCCIÓN ====================
Arquitectura x86_64 detectada.
Asegurando que el launcher esté actualizado
Obteniendo origen
El launcher está actualizado
Deteniendo contenedor antiguo
+ /usr/bin/docker stop -t 60 app
app
2.0.20221221-0050: Pulling from discourse/base
Digest: sha256:7ac6489e34a0f40f32457bffaa331940a98447b46451a6a1279a79868ee5420b
Estado: La imagen está actualizada para discourse/base:2.0.20221221-0050
docker.io/discourse/base:2.0.20221221-0050
/usr/local/lib/ruby/gems/3.1.0/gems/pups-1.1.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2023-01-13T20:57:14.087807 #1]  INFO -- : Reading from stdin
I, [2023-01-13T20:57:14.092670 #1]  INFO -- : > locale-gen $LANG && update-locale
I, [2023-01-13T20:57:14.350231 #1]  INFO -- : Generating locales (this might take a while)...
Generation complete.

I, [2023-01-13T20:57:14.350649 #1]  INFO -- : > mkdir -p /shared/postgres_run
I, [2023-01-13T20:57:14.355407 #1]  INFO -- :
I, [2023-01-13T20:57:14.356158 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2023-01-13T20:57:14.359173 #1]  INFO -- :
I, [2023-01-13T20:57:14.359515 #1]  INFO -- : > chmod 775 /shared/postgres_run
I, [2023-01-13T20:57:14.361742 #1]  INFO -- :
I, [2023-01-13T20:57:14.362373 #1]  INFO -- : > rm -fr /var/run/postgresql
I, [2023-01-13T20:57:14.364979 #1]  INFO -- :
I, [2023-01-13T20:57:14.365387 #1]  INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2023-01-13T20:57:14.368409 #1]  INFO -- :
I, [2023-01-13T20:57:14.368699 #1]  INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
2023/01/13 20:57:14 socat[18] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): No such file or directory
I, [2023-01-13T20:57:14.388890 #1]  INFO -- :
I, [2023-01-13T20:57:14.389245 #1]  INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2023-01-13T20:57:14.392196 #1]  INFO -- :
I, [2023-01-13T20:57:14.392487 #1]  INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2023-01-13T20:57:14.395147 #1]  INFO -- :
I, [2023-01-13T20:57:14.395454 #1]  INFO -- : > mkdir -p /shared/postgres_run/13-main.pg_stat_tmp
I, [2023-01-13T20:57:14.398215 #1]  INFO -- :
I, [2023-01-13T20:57:14.398653 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run/13-main.pg_stat_tmp
I, [2023-01-13T20:57:14.400967 #1]  INFO -- :
I, [2023-01-13T20:57:14.417469 #1]  INFO -- : File > /etc/service/postgres/run  chmod: +x  chown:
I, [2023-01-13T20:57:14.428618 #1]  INFO -- : File > /etc/service/postgres/log/run  chmod: +x  chown:
I, [2023-01-13T20:57:14.434745 #1]  INFO -- : File > /etc/runit/3.d/99-postgres  chmod: +x  chown:
I, [2023-01-13T20:57:14.439755 #1]  INFO -- : File > /root/upgrade_postgres  chmod: +x  chown:
I, [2023-01-13T20:57:14.440185 #1]  INFO -- : > chown -R root /var/lib/postgresql/13/main
I, [2023-01-13T20:57:15.206364 #1]  INFO -- :
I, [2023-01-13T20:57:15.206661 #1]  INFO -- : > [ ! -e /shared/postgres_data ] && install -d -m 0755 -o postgres -g postgres /shared/postgres_data && sudo -E -u postgres /usr/lib/postgresql/13/bin/initdb -D /shared/postgres_data || exit 0
I, [2023-01-13T20:57:15.208870 #1]  INFO -- :
I, [2023-01-13T20:57:15.209144 #1]  INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2023-01-13T20:57:15.231061 #1]  INFO -- :
I, [2023-01-13T20:57:15.231632 #1]  INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2023-01-13T20:57:15.234995 #1]  INFO -- :
I, [2023-01-13T20:57:15.235497 #1]  INFO -- : > /root/upgrade_postgres
I, [2023-01-13T20:57:15.243749 #1]  INFO -- :
I, [2023-01-13T20:57:15.244196 #1]  INFO -- : > rm /root/upgrade_postgres
I, [2023-01-13T20:57:15.247241 #1]  INFO -- :
I, [2023-01-13T20:57:15.249344 #1]  INFO -- : Replacing data_directory = '/var/lib/postgresql/13/main' with data_directory = '/shared/postgres_data' in /etc/postgresql/13/main/postgresql.conf
I, [2023-01-13T20:57:15.250389 #1]  INFO -- : Replacing (?-mix:#?listen_addresses *=.*) with listen_addresses = '*' in /etc/postgresql/13/main/postgresql.conf
I, [2023-01-13T20:57:15.251310 #1]  INFO -- : Replacing (?-mix:#?synchronous_commit *=.*) with synchronous_commit = $db_synchronous_commit in /etc/postgresql/13/main/postgresql.conf
I, [2023-01-13T20:57:15.251962 #1]  INFO -- : Replacing (?-mix:#?shared_buffers *=.*) with shared_buffers = $db_shared_buffers in /etc/postgresql/13/main/postgresql.conf
I, [2023-01-13T20:57:15.252492 #1]  INFO -- : Replacing (?-mix:#?work_mem *=.*) with work_mem = $db_work_mem in /etc/postgresql/13/main/postgresql.conf
I, [2023-01-13T20:57:15.253049 #1]  INFO -- : Replacing (?-mix:#?default_text_search_config *=.*) with default_text_search_config = '$db_default_text_search_config' in /etc/postgresql/13/main/postgresql.conf
I, [2023-01-13T20:57:15.253648 #1]  INFO -- : > install -d -m 0755 -o postgres -g postgres /shared/postgres_backup
I, [2023-01-13T20:57:15.258895 #1]  INFO -- :
I, [2023-01-13T20:57:15.259524 #1]  INFO -- : Replacing (?-mix:#?checkpoint_segments *=.*) with checkpoint_segments = $db_checkpoint_segments in /etc/postgresql/13/main/postgresql.conf
I, [2023-01-13T20:57:15.260000 #1]  INFO -- : Replacing (?-mix:#?logging_collector *=.*) with logging_collector = $db_logging_collector in /etc/postgresql/13/main/postgresql.conf
I, [2023-01-13T20:57:15.260759 #1]  INFO -- : Replacing (?-mix:#?log_min_duration_statement *=.*) with log_min_duration_statement = $db_log_min_duration_statement in /etc/postgresql/13/main/postgresql.conf
I, [2023-01-13T20:57:15.261995 #1]  INFO -- : Replacing (?-mix:^#local +replication +postgres +peer$) with local replication postgres  peer in /etc/postgresql/13/main/pg_hba.conf
I, [2023-01-13T20:57:15.262518 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*127.*$) with host all all 0.0.0.0/0 md5 in /etc/postgresql/13/main/pg_hba.conf
I, [2023-01-13T20:57:15.263083 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*::1\/128.*$) with host all all ::/0 md5 in /etc/postgresql/13/main/pg_hba.conf
I, [2023-01-13T20:57:15.263399 #1]  INFO -- : > HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main
I, [2023-01-13T20:57:15.264639 #1]  INFO -- : > sleep 5
2023-01-13 20:57:15.347 UTC [41] LOG:  starting PostgreSQL 13.9 (Debian 13.9-1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
2023-01-13 20:57:15.348 UTC [41] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2023-01-13 20:57:15.348 UTC [41] LOG:  listening on IPv6 address "::", port 5432
2023-01-13 20:57:15.350 UTC [41] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2023-01-13 20:57:15.356 UTC [44] LOG:  database system was shut down at 2023-01-13 20:52:18 UTC
2023-01-13 20:57:15.364 UTC [41] LOG:  database system is ready to accept connections
I, [2023-01-13T20:57:20.301579 #1]  INFO -- :
I, [2023-01-13T20:57:20.301874 #1]  INFO -- : > su postgres -c 'createdb discourse' || true
2023-01-13 20:57:20.394 UTC [54] postgres@postgres ERROR:  database "discourse" already exists
2023-01-13 20:57:20.394 UTC [54] postgres@postgres STATEMENT:  CREATE DATABASE discourse;
createdb: error: database creation failed: ERROR:  database "discourse" already exists
I, [2023-01-13T20:57:20.396968 #1]  INFO -- :
I, [2023-01-13T20:57:20.397470 #1]  INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
2023-01-13 20:57:20.471 UTC [58] postgres@discourse ERROR:  role "discourse" already exists
2023-01-13 20:57:20.471 UTC [58] postgres@discourse STATEMENT:  create user discourse;
ERROR:  role "discourse" already exists
I, [2023-01-13T20:57:20.474321 #1]  INFO -- :
I, [2023-01-13T20:57:20.474802 #1]  INFO -- : > su postgres -c 'psql discourse -c "grant all privileges on database discourse to discourse;"' || true
I, [2023-01-13T20:57:20.547104 #1]  INFO -- : GRANT

I, [2023-01-13T20:57:20.547549 #1]  INFO -- : > su postgres -c 'psql discourse -c "alter schema public owner to discourse;"'
I, [2023-01-13T20:57:20.607661 #1]  INFO -- : ALTER SCHEMA

I, [2023-01-13T20:57:20.608077 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists hstore;"'
NOTICE:  extension "hstore" already exists, skipping
I, [2023-01-13T20:57:20.668785 #1]  INFO -- : CREATE EXTENSION

I, [2023-01-13T20:57:20.669132 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists pg_trgm;"'
NOTICE:  extension "pg_trgm" already exists, skipping
I, [2023-01-13T20:57:20.729483 #1]  INFO -- : CREATE EXTENSION

I, [2023-01-13T20:57:20.730252 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists hstore;"'
NOTICE:  extension "hstore" already exists, skipping
I, [2023-01-13T20:57:20.790467 #1]  INFO -- : CREATE EXTENSION

I, [2023-01-13T20:57:20.790873 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists pg_trgm;"'
NOTICE:  extension "pg_trgm" already exists, skipping
I, [2023-01-13T20:57:20.850443 #1]  INFO -- : CREATE EXTENSION

I, [2023-01-13T20:57:20.850882 #1]  INFO -- : > sudo -u postgres psql discourse
I, [2023-01-13T20:57:20.854666 #1]  INFO -- : update pg_database set encoding = pg_char_to_encoding('UTF8') where datname = 'discourse' AND encoding = pg_char_to_encoding('SQL_ASCII');

I, [2023-01-13T20:57:20.926407 #1]  INFO -- : File > /var/lib/postgresql/take-database-backup  chmod: +x  chown: postgres:postgres
I, [2023-01-13T20:57:20.931661 #1]  INFO -- : File > /var/spool/cron/crontabs/postgres  chmod:   chown:
I, [2023-01-13T20:57:20.932121 #1]  INFO -- : > echo postgres installed!
I, [2023-01-13T20:57:20.935624 #1]  INFO -- : postgres installed!

I, [2023-01-13T20:57:20.942545 #1]  INFO -- : File > /etc/service/redis/run  chmod: +x  chown:
I, [2023-01-13T20:57:20.948661 #1]  INFO -- : File > /etc/service/redis/log/run  chmod: +x  chown:
I, [2023-01-13T20:57:20.953584 #1]  INFO -- : File > /etc/runit/3.d/10-redis  chmod: +x  chown:
I, [2023-01-13T20:57:20.955243 #1]  INFO -- : Replacing daemonize yes with  in /etc/redis/redis.conf
I, [2023-01-13T20:57:20.956050 #1]  INFO -- : Replacing (?-mix:^pidfile.*$) with  in /etc/redis/redis.conf
I, [2023-01-13T20:57:20.957307 #1]  INFO -- : > install -d -m 0755 -o redis -g redis /shared/redis_data
I, [2023-01-13T20:57:20.961081 #1]  INFO -- :
I, [2023-01-13T20:57:20.961686 #1]  INFO -- : Replacing (?-mix:^logfile.*$) with logfile "" in /etc/redis/redis.conf
I, [2023-01-13T20:57:20.962359 #1]  INFO -- : Replacing (?-mix:^bind .*$) with  in /etc/redis/redis.conf
I, [2023-01-13T20:57:20.963776 #1]  INFO -- : Replacing (?-mix:^dir .*$) with dir /shared/redis_data in /etc/redis/redis.conf
I, [2023-01-13T20:57:20.965043 #1]  INFO -- : Replacing (?-mix:^protected-mode yes) with protected-mode no in /etc/redis/redis.conf
I, [2023-01-13T20:57:20.966468 #1]  INFO -- : Replacing # io-threads 4 with io-threads $redis_io_threads in /etc/redis/redis.conf
I, [2023-01-13T20:57:20.967502 #1]  INFO -- : > echo redis installed
I, [2023-01-13T20:57:20.970150 #1]  INFO -- : redis installed

I, [2023-01-13T20:57:20.970503 #1]  INFO -- : > cat /etc/redis/redis.conf | grep logfile
I, [2023-01-13T20:57:20.975752 #1]  INFO -- : logfile ""

I, [2023-01-13T20:57:20.976133 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2023-01-13T20:57:20.977296 #1]  INFO -- : > sleep 10
102:C 13 Jan 2023 20:57:21.392 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
102:C 13 Jan 2023 20:57:21.392 # Redis version=7.0.7, bits=64, commit=00000000, modified=0, pid=102, just started
102:C 13 Jan 2023 20:57:21.392 # Configuration loaded
102:M 13 Jan 2023 20:57:21.393 * monotonic clock: POSIX clock_gettime
102:M 13 Jan 2023 20:57:21.394 * Running mode=standalone, port=6379.
102:M 13 Jan 2023 20:57:21.394 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
102:M 13 Jan 2023 20:57:21.395 # Server initialized
102:M 13 Jan 2023 20:57:21.395 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
102:M 13 Jan 2023 20:57:21.395 # WARNING You have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo madvise > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled (set to 'madvise' or 'never').
102:M 13 Jan 2023 20:57:21.396 * Loading RDB produced by version 7.0.7
102:M 13 Jan 2023 20:57:21.397 * RDB age 303 seconds
102:M 13 Jan 2023 20:57:21.397 * RDB memory usage when created 12.28 Mb
102:M 13 Jan 2023 20:57:21.434 * Done loading RDB, keys loaded: 12352, keys expired: 0.
102:M 13 Jan 2023 20:57:21.435 * DB loaded from disk: 0.039 seconds
102:M 13 Jan 2023 20:57:21.435 * Ready to accept connections
I, [2023-01-13T20:57:30.983477 #1]  INFO -- :
I, [2023-01-13T20:57:30.983658 #1]  INFO -- : > thpoff echo "thpoff is installed!"
I, [2023-01-13T20:57:30.988243 #1]  INFO -- : thpoff is installed!

I, [2023-01-13T20:57:30.988586 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_SMTP_ADDRESS"] == "smtp.example.com"; puts "Aborting! Mail is not configured!"; exit 1; end'
I, [2023-01-13T20:57:32.884024 #1]  INFO -- :
I, [2023-01-13T20:57:32.884607 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_HOSTNAME"] == "discourse.example.com"; puts "Aborting! Domain is not configured!"; exit 1; end'
I, [2023-01-13T20:57:32.991609 #1]  INFO -- :
I, [2023-01-13T20:57:32.992131 #1]  INFO -- : > /usr/local/bin/ruby -e 'if (ENV["DISCOURSE_CDN_URL"] || "")[0..1] == "//"; puts "Aborting! CDN must have a protocol specified. Once fixed you should rebake your posts now to correct all posts."; exit 1; end'
I, [2023-01-13T20:57:33.085605 #1]  INFO -- :
I, [2023-01-13T20:57:33.086528 #1]  INFO -- : > rm -f /etc/cron.d/anacron
I, [2023-01-13T20:57:33.089851 #1]  INFO -- :
I, [2023-01-13T20:57:33.092981 #1]  INFO -- : File > /etc/cron.d/anacron  chmod:   chown:
I, [2023-01-13T20:57:33.098976 #1]  INFO -- : File > /etc/runit/1.d/copy-env  chmod: +x  chown:
I, [2023-01-13T20:57:33.104108 #1]  INFO -- : File > /etc/service/unicorn/run  chmod: +x  chown:
I, [2023-01-13T20:57:33.109588 #1]  INFO -- : File > /etc/service/nginx/run  chmod: +x  chown:
I, [2023-01-13T20:57:33.115297 #1]  INFO -- : File > /etc/runit/3.d/01-nginx  chmod: +x  chown:
I, [2023-01-13T20:57:33.120367 #1]  INFO -- : File > /etc/runit/3.d/02-unicorn  chmod: +x  chown:
I, [2023-01-13T20:57:33.120696 #1]  INFO -- : Replacing # postgres with sv start postgres || exit 1 in /etc/service/unicorn/run
I, [2023-01-13T20:57:33.121020 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2023-01-13T20:57:33.123102 #1]  INFO -- : > cd /var/www/discourse && git reset --hard
129:C 13 Jan 2023 20:57:33.133 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
129:C 13 Jan 2023 20:57:33.133 # Redis version=7.0.7, bits=64, commit=00000000, modified=0, pid=129, just started
129:C 13 Jan 2023 20:57:33.133 # Configuration loaded
129:M 13 Jan 2023 20:57:33.134 * monotonic clock: POSIX clock_gettime
129:M 13 Jan 2023 20:57:33.134 # Warning: Could not create server TCP listening socket *:6379: bind: Address already in use
129:M 13 Jan 2023 20:57:33.134 # Failed listening on port 6379 (TCP), aborting.
Updating files: 100% (32637/32637), done.
I, [2023-01-13T20:57:47.114566 #1]  INFO -- : HEAD is now at e775ed1c DEV: Properly include spec examples (#19532)

I, [2023-01-13T20:57:47.115003 #1]  INFO -- : > cd /var/www/discourse && git clean -f
I, [2023-01-13T20:57:47.360028 #1]  INFO -- :
I, [2023-01-13T20:57:47.360436 #1]  INFO -- : > cd /var/www/discourse && git remote set-branches --add origin main
I, [2023-01-13T20:57:47.366539 #1]  INFO -- :
I, [2023-01-13T20:57:47.366909 #1]  INFO -- : > cd /var/www/discourse && git remote set-branches origin tests-passed
I, [2023-01-13T20:57:47.371415 #1]  INFO -- :
I, [2023-01-13T20:57:47.371771 #1]  INFO -- : > cd /var/www/discourse && git fetch --depth 1 origin tests-passed
From https://github.com/discourse/discourse
 * branch              tests-passed -> FETCH_HEAD
 * [new branch]        tests-passed -> origin/tests-passed
I, [2023-01-13T20:57:50.960336 #1]  INFO -- :
I, [2023-01-13T20:57:50.960667 #1]  INFO -- : > cd /var/www/discourse && git checkout tests-passed
Switched to a new branch 'tests-passed'
I, [2023-01-13T20:57:52.014831 #1]  INFO -- : Branch 'tests-passed' set up to track remote branch 'tests-passed' from 'origin'.

I, [2023-01-13T20:57:52.015196 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp
I, [2023-01-13T20:57:52.019694 #1]  INFO -- :
I, [2023-01-13T20:57:52.020014 #1]  INFO -- : > cd /var/www/discourse && chown discourse:www-data tmp
I, [2023-01-13T20:57:52.023449 #1]  INFO -- :
I, [2023-01-13T20:57:52.023752 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/pids
I, [2023-01-13T20:57:52.026874 #1]  INFO -- :
I, [2023-01-13T20:57:52.027135 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/sockets
I, [2023-01-13T20:57:52.030196 #1]  INFO -- :
I, [2023-01-13T20:57:52.030447 #1]  INFO -- : > cd /var/www/discourse && touch tmp/.gitkeep
I, [2023-01-13T20:57:52.034623 #1]  INFO -- :
I, [2023-01-13T20:57:52.034894 #1]  INFO -- : > cd /var/www/discourse && mkdir -p                    /shared/log/rails
I, [2023-01-13T20:57:52.038374 #1]  INFO -- :
I, [2023-01-13T20:57:52.038629 #1]  INFO -- : > cd /var/www/discourse && bash -c "touch -a           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log"
I, [2023-01-13T20:57:52.044961 #1]  INFO -- :
I, [2023-01-13T20:57:52.045215 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log /var/www/discourse/log"
I, [2023-01-13T20:57:52.050783 #1]  INFO -- :
I, [2023-01-13T20:57:52.051070 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/{uploads,backups}"
I, [2023-01-13T20:57:52.056515 #1]  INFO -- :
I, [2023-01-13T20:57:52.056781 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/{uploads,backups} /var/www/discourse/public"
I, [2023-01-13T20:57:52.062351 #1]  INFO -- :
I, [2023-01-13T20:57:52.062666 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/tmp/{backups,restores}"
I, [2023-01-13T20:57:52.068265 #1]  INFO -- :
I, [2023-01-13T20:57:52.068578 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/tmp/{backups,restores} /var/www/discourse/tmp"
I, [2023-01-13T20:57:52.073527 #1]  INFO -- :
I, [2023-01-13T20:57:52.074212 #1]  INFO -- : > cd /var/www/discourse && chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp
I, [2023-01-13T20:57:52.117534 #1]  INFO -- :
I, [2023-01-13T20:57:52.117960 #1]  INFO -- : > cd /var/www/discourse && [ ! -d public/plugins ] || find public/plugins/ -maxdepth 1 -xtype l -delete
I, [2023-01-13T20:57:52.123169 #1]  INFO -- :
I, [2023-01-13T20:57:52.123948 #1]  INFO -- : Replacing # redis with sv start redis || exit 1 in /etc/service/unicorn/run
I, [2023-01-13T20:57:52.124352 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/docker_manager.git
Cloning into 'docker_manager'...
I, [2023-01-13T20:57:54.360521 #1]  INFO -- :
I, [2023-01-13T20:57:54.361091 #1]  INFO -- : > cp /var/www/discourse/config/nginx.sample.conf /etc/nginx/conf.d/discourse.conf
I, [2023-01-13T20:57:54.366047 #1]  INFO -- :
I, [2023-01-13T20:57:54.366535 #1]  INFO -- : > rm /etc/nginx/sites-enabled/default
I, [2023-01-13T20:57:54.369289 #1]  INFO -- :
I, [2023-01-13T20:57:54.369615 #1]  INFO -- : > mkdir -p /var/nginx/cache
I, [2023-01-13T20:57:54.372453 #1]  INFO -- :
I, [2023-01-13T20:57:54.373095 #1]  INFO -- : Replacing pid /run/nginx.pid; with daemon off; in /etc/nginx/nginx.conf
I, [2023-01-13T20:57:54.373542 #1]  INFO -- : Replacing (?m-ix:upstream[^\}]+\}) with upstream discourse { server 127.0.0.1:3000; } in /etc/nginx/conf.d/discourse.conf
I, [2023-01-13T20:57:54.374208 #1]  INFO -- : Replacing (?-mix:server_name.+$) with server_name _ ; in /etc/nginx/conf.d/discourse.conf
I, [2023-01-13T20:57:54.374683 #1]  INFO -- : Replacing (?-mix:client_max_body_size.+$) with client_max_body_size $upload_size ; in /etc/nginx/conf.d/discourse.conf
I, [2023-01-13T20:57:54.375248 #1]  INFO -- : Replacing (?-mix:worker_connections.+$) with worker_connections $nginx_worker_connections ; in /etc/nginx/nginx.conf
I, [2023-01-13T20:57:54.375540 #1]  INFO -- : > echo "done configuring web"
I, [2023-01-13T20:57:54.377017 #1]  INFO -- : done configuring web

I, [2023-01-13T20:57:54.377367 #1]  INFO -- : > cd /var/www/discourse && gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,""); print $0 }' Gemfile.lock)
ERROR:  Loading command: install (RuntimeError)
        failed to get urandom
        /usr/local/lib/ruby/3.1.0/securerandom.rb:75:in `urandom'
        /usr/local/lib/ruby/3.1.0/securerandom.rb:75:in `singleton class'
        /usr/local/lib/ruby/3.1.0/securerandom.rb:42:in `<module:SecureRandom>'
        /usr/local/lib/ruby/3.1.0/securerandom.rb:41:in `<top (required)>'
        <internal:/usr/local/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
        <internal:/usr/local/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
        /usr/local/lib/ruby/3.1.0/resolv.rb:8:in `<top (required)>'
        <internal:/usr/local/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
        <internal:/usr/local/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
        /usr/local/lib/ruby/3.1.0/net/http.rb:25:in `<top (required)>'
        <internal:/usr/local/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
        <internal:/usr/local/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
        /usr/local/lib/ruby/3.1.0/rubygems/request.rb:2:in `<top (required)>'
        /usr/local/lib/ruby/3.1.0/rubygems/remote_fetcher.rb:3:in `require_relative'
        /usr/local/lib/ruby/3.1.0/rubygems/remote_fetcher.rb:3:in `<top (required)>'
        /usr/local/lib/ruby/3.1.0/rubygems/spec_fetcher.rb:2:in `require_relative'
        /usr/local/lib/ruby/3.1.0/rubygems/spec_fetcher.rb:2:in `<top (required)>'
        /usr/local/lib/ruby/3.1.0/rubygems/dependency_installer.rb:6:in `require_relative'
        /usr/local/lib/ruby/3.1.0/rubygems/dependency_installer.rb:6:in `<top (required)>'
        /usr/local/lib/ruby/3.1.0/rubygems/commands/install_command.rb:4:in `require_relative'
        /usr/local/lib/ruby/3.1.0/rubygems/commands/install_command.rb:4:in `<top (required)>'
        <internal:/usr/local/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
        <internal:/usr/local/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
        /usr/local/lib/ruby/3.1.0/rubygems/command_manager.rb:228:in `load_and_instantiate'
        /usr/local/lib/ruby/3.1.0/rubygems/command_manager.rb:135:in `[]'
        /usr/local/lib/ruby/3.1.0/rubygems/command_manager.rb:201:in `find_command'
        /usr/local/lib/ruby/3.1.0/rubygems/command_manager.rb:183:in `process_args'
        /usr/local/lib/ruby/3.1.0/rubygems/command_manager.rb:149:in `run'
        /usr/local/lib/ruby/3.1.0/rubygems/gem_runner.rb:51:in `run'
        /usr/local/bin/gem:21:in `<main>'
ERROR:  While executing gem ... (NoMethodError)
    undefined method `deprecated?' for nil:NilClass

      cmd.deprecation_warning if cmd.deprecated?
                                    ^^^^^^^^^^^^
        /usr/local/lib/ruby/3.1.0/rubygems/command_manager.rb:184:in `process_args'
        /usr/local/lib/ruby/3.1.0/rubygems/command_manager.rb:149:in `run'
        /usr/local/lib/ruby/3.1.0/rubygems/gem_runner.rb:51:in `run'
        /usr/local/bin/gem:21:in `<main>'
I, [2023-01-13T20:57:54.876405 #1]  INFO -- :
I, [2023-01-13T20:57:54.876935 #1]  INFO -- : Terminating async processes
I, [2023-01-13T20:57:54.877081 #1]  INFO -- : Sending INT to HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 41
I, [2023-01-13T20:57:54.877224 #1]  INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 102
102:signal-handler (1673643474) Received SIGTERM scheduling shutdown...
2023-01-13 20:57:54.877 UTC [41] LOG:  received fast shutdown request
2023-01-13 20:57:54.881 UTC [41] LOG:  aborting any active transactions
2023-01-13 20:57:54.886 UTC [41] LOG:  background worker "logical replication launcher" (PID 50) exited with exit code 1
2023-01-13 20:57:54.887 UTC [45] LOG:  shutting down
2023-01-13 20:57:54.907 UTC [41] LOG:  database system is shut down
102:M 13 Jan 2023 20:57:54.944 # User requested shutdown...
102:M 13 Jan 2023 20:57:54.944 * Saving the final RDB snapshot before exiting.
102:M 13 Jan 2023 20:57:55.006 * DB saved on disk
102:M 13 Jan 2023 20:57:55.006 # Redis is now ready to exit, bye bye...


FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,""); print $0 }' Gemfile.lock) failed with return #<Process::Status: pid 231 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.1.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"web", "cmd"=>["gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,\"\"); print $0 }' Gemfile.lock)", "find $home ! -user discourse -exec chown discourse {} \\+"]}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
f284ba6caaf11348ebfe7cf15303e238b24049ee37f12ef3eda4cc38e7b8e351
==================== END REBUILD LOG ====================
Error al reconstruir app.

Verificando tu nombre de dominio . . .

La conexión a community.museomix.org fue exitosa.
Probablemente deberías eliminar cualquier plugin no estándar y reconstruir.
Intentando reiniciar el contenedor existente. . .
Arquitectura x86_64 detectada.

iniciando contenedor existente
+ /usr/bin/docker start app
Error response from daemon: driver failed programming external connectivity on endpoint app (1eb09dca2e0d180222adb2130609d364a687eb4bac6a9ff929cd7469253e89f2): Error starting userland proxy: listen tcp4 0.0.0.0:443: listen: address already in use
Error: failed to start containers: app
Error al reiniciar el contenedor.


==================== PLUGINS ====================
          - git clone https://github.com/discourse/docker_manager.git

No se detectaron plugins no oficiales.

Ver https://github.com/discourse/discourse/blob/main/lib/plugin/metadata.rb para la lista oficial.

========================================
Versión de Discourse en community.museomix.org: NO ENCONTRADA
Versión de Discourse en localhost: NO ENCONTRADA


==================== INFORMACIÓN DE MEMORIA ====================
RAM (MB): 2099

               total        used        free      shared  buff/cache   available
Mem:            2001         155         476           0        1369        1680
Swap:           1023          53         970

==================== VERIFICACIÓN DE ESPACIO EN DISCO ====================
---------- Espacio en disco del SO ----------
Sistema de archivos                 Tamaño  Usado Disponible Uso% Montado en
/dev/disk/by-label/DOROOT   50G   25G   23G  53% /

==================== INFORMACIÓN DEL DISCO ====================
Disco /dev/vda: 50 GiB, 53687091200 bytes, 104857600 sectores
Unidades: sectores de 1 * 512 = 512 bytes
Tamaño de sector (lógico/físico): 512 bytes / 512 bytes
Tamaño de E/S (mínimo/óptimo): 512 bytes / 512 bytes
Tipo de etiqueta de disco: gpt
Identificador de disco: 29B528BA-16C4-402E-BEE9-53555C8B6F10

Dispositivo     Inicio       Fin   Sectores Tamaño Tipo
/dev/vda1   2048 104855551 104853504  50G Sistema de archivos Linux

==================== FIN DE LA INFORMACIÓN DEL DISCO ====================

==================== PRUEBA DE CORREO ====================
Para una prueba robusta, obtén una dirección de http://www.mail-tester.com/
O simplemente envíate un mensaje de prueba.
Prueba de correo omitida.
Reemplazando: SMTP_PASSWORD
Reemplazando: LETSENCRYPT_ACCOUNT_EMAIL
Reemplazando: DEVELOPER_EMAILS
Reemplazando: DISCOURSE_DB_PASSWORD
Reemplazando: Enviando correo a

==================== ¡HECHO! ====================

Puedes examinar la salida de este script con
LESS=-Ri less /tmp/discourse-debug.txt

PERO PRIMERO, asegúrate de que conoces los tres primeros comandos de abajo!!!

Comandos a conocer al ver el archivo con el comando anterior (llamado 'less'):
q              -- salir
/error<ENTER>  -- buscar la palabra 'error'
n              -- buscar la siguiente ocurrencia
g              -- ir al principio del archivo
f              -- avanzar una página
b              -- retroceder una página
G              -- ir al final del archivo

Esto parece ser el problema. No me imagino la causa.

Yo también :frowning: El sistema operativo está actualizado, Discourse también.

Estás ejecutando Discourse en una versión de Ubuntu obsoleta. Necesitas migrar a una instalación de Linux actualizada. Esa versión del kernel es demasiado antigua.

Estoy en Ubuntu 22.04 LTS :slight_smile: así que no es realmente una versión al final de su vida útil :wink: pero parece que tengo un kernel 3.x

Ubuntu 22.04 se lanzó con el Kernel 5.15, por lo que sospecharía que se realizó una instalación/actualización muy no estándar para llegar a este estado.

Estoy intentando cambiar a un kernel al menos más reciente que 5.15, pero aufs ya no es compatible, así que estoy cambiando a overlay2.

Te recomendaría que simplemente crees un nuevo servidor en lugar de meterte con las superposiciones.

¿Necesito recuperar solo mi última copia de seguridad de Discourse del servidor actual? (No quiero perder datos)

Todo lo que necesitas es la copia de seguridad y la lista de plugins de tu app.yml. Si es una instalación muy antigua, te recomiendo que ejecutes discourse-setup y luego copies los plugins.

en esta instalación no hay plugins específicos (supongo que estaba en la última versión menor, actualizo con regularidad).

Gracias @pfaffman y @Falco

Finalmente pude:

  • actualizar el sistema operativo y el kernel a versiones recientes
  • reconstruir Discourse (habilitando SSL en app.yml)
  • cambiar a overlay en lugar de aufs (sin perder datos)

Así que https://community.museomix.org/ está de nuevo en línea.

(Evitaré por un tiempo mudarme a otro droplet).

Gracias a la comunidad de Discourse, no publico a menudo aquí, pero son rápidos para responder y ayudar :heart:

Ugh. Esto me está pasando a mí también ahora mismo. Estoy en

Bienvenido a Ubuntu 14.04.5 LTS (GNU/Linux 3.13.0-37-generic x86_64)

  • Documentación: https://help.ubuntu.com/

    Información del sistema hasta el miércoles 18 de enero 08:37:37 EST 2023

    Carga del sistema: 0.0 Memoria en uso: 5% Procesos: 54
    Uso de /: 69.8% de 29.40GB Uso de swap: 0% Usuarios conectados: 0

    Representa gráficamente estos datos y administra este sistema en:
    https://landscape.canonical.com/

Nueva versión ‘16.04.7 LTS’ disponible.
Ejecuta ‘do-release-upgrade’ para actualizar a ella.

¿Solucionaría ejecutar esa última línea mi problema por el momento, para que el sitio vuelva a estar en funcionamiento rápidamente, o debería saltármelo y hacer la configuración del nuevo servidor como se recomienda aquí?

Haz una copia de seguridad de tus datos de discourse antes :slight_smile:

¡Gracias! Ese es el plan. :slight_smile:

Para que conste, creo que optaría por la instancia nueva y la opción de restauración, ya que creo que sería menos propensa a problemas.

do-release-upgrade va a llevar algo de tiempo (dependiendo de la velocidad de la red y del disco) e incluso podría pausarse para hacerte preguntas. Y probablemente tendrás que ejecutarlo más de una vez, en tu caso, ya que estás muy atrasado. Hay una buena posibilidad de que una instalación limpia lleve menos tiempo.

Pero sí, ¡haz copias de seguridad! Y si puedes, monta tu nuevo servidor y haz que funcione antes de desmantelar el antiguo.

Ahora he actualizado a 16.04.7 LTS y ahora estoy recibiendo lo que parece ser un error diferente. He intentado ejecutar ./launcher rebuild app varias veces. ¿Alguna sugerencia? Ahora estoy revisando el registro…

Pups::ExecError: cd /var/www/discourse & git fetch --depth 1 origin tests-passed falló con retorno #<Process::Status: pid 140 exit 128>
Ubicación del fallo: /usr/local/lib/ruby/gems/3.1.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec falló con los parámetros {"cd"=>"$home", "hook"=>"code", "cmd"=>["git reset --hard", "git clean -f", "git remote set-branches --add origin main", "git remote set-branches origin $version", "git fetch --depth 1 origin $version", "git checkout $version", "mkdir -p tmp", "chown discourse:www-data tmp", "mkdir -p tmp/pids", "mkdir -p tmp/sockets", "touch tmp/.gitkeep", "mkdir -p                    /shared/log/rails", "bash -c \"touch -a           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log\"", "bash -c \"ln    -s           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log $home/log\"", "bash -c \"mkdir -p           /shared/{uploads,backups}\"", "bash -c \"ln    -s           /shared/{uploads,backups} $home/public\"", "bash -c \"mkdir -p           /shared/tmp/{backups,restores}\"", "bash -c \"ln    -s           /shared/tmp/{backups,restores} $home/tmp\"", "chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp", "[ ! -d public/plugins ] || find public/plugins/ -maxdepth 1 -xtype l -delete]"}
falló el arranque con el código de salida 128
** FALLÓ EL ARRANQUE ** por favor, desplázate hacia arriba y busca mensajes de error anteriores, puede haber más de uno.
./discourse-doctor puede ayudar a diagnosticar el problema.
7dd6293725af53fa4ac153d55183fb71c5ef5264b74d8d2267a653225a439127

Coincido con @JammyDodger en usar Mueve tu instancia de Discourse a un servidor diferente para actualizar a un droplet reciente de Debian/Ubuntu.

De lo contrario, necesitas ejecutar el larguísimo do-release-upgrade 5 veces solo para llegar a la última versión. No vale la pena.

Ugh, esto es realmente malo, debería advertirte de antemano, mi sitio está caído y no puedo recuperarlo en este momento.

¿Hay alguna forma de decirle a launcher rebuild que use una copia antigua?