Configuración de Discourse + DigitalOcean + Mailjet

Antes de criticarme, tened en cuenta que he leído casi todas las publicaciones de estos foros sobre Discourse + Mailjet, pero nada ha respondido a mi pregunta específica.

Durante el proceso de configuración, Discourse solicita la siguiente información:

  • DISCOURSE_DEVELOPER_EMAILS — puede ser cualquier cosa
  • DISCOURSE_SMTP_ADDRESS — Estoy usando in-v3.mailjet.com, ¡pero esto es solo una suposición!
  • DISCOURSE_SMTP_PORT — 587
  • DISCOURSE_SMTP_USER_NAME — ¿Mi nombre de usuario de Mailjet?
  • DISCOURSE_SMTP_PASSWORD — ¿Mi contraseña de Mailjet?

Los tres sobre los que no estoy completamente seguro son:

  • DISCOURSE_SMTP_ADDRESS
  • DISCOURSE_SMTP_USER_NAME
  • DISCOURSE_SMTP_PASSWORD

Mailjet no incluye todos estos elementos en su interfaz de usuario en un solo lugar, y no está nada claro qué debe ir dónde.

Me he puesto en contacto con su personal de soporte, pero respondieron con “Tras revisar la información del ticket, se ha determinado que necesitaremos la intervención de otro grupo de compañeros”.

… y luego desaparecieron durante 48 horas.

Ya he configurado los registros SPF y DKIM para Mailjet, así que todo eso está en orden, pero creo que el nombre de usuario y la contraseña son incorrectos porque /discourse-doctor sugiere que ese es el punto de fallo.

Si podéis darme alguna aclaración clara al respecto, ¡os lo agradecería mucho! Gracias.

También debería mencionar: Esta instalación de Discourse se está ejecutando en un subdominio.

He instalado Discourse (con Mailgun) en subdominios muchas otras veces, y en cada uno de esos casos, no necesité hacer ninguna provisión especial para el subdominio en los registros DNS (específicamente, los registros SPF y DKIM de Mailgun).

Sin embargo, algunas de las publicaciones en estos foros sugieren que necesitaré modificar los registros DNS para el subdominio.

Pero estoy usando Mailjet para el correo transaccional en el dominio principal (un sitio de WordPress) y también en el subdominio. Me parece que si modificara los registros para indicar el subdominio, entonces el correo transaccional ya no funcionaría en el sitio de WordPress.

O bien, necesito 2 conjuntos de registros para que funcionen en ambos.

Pero basándome en la forma en que han funcionado los sitios de Mailgun, no creo que necesite hacer ninguna provisión especial para el subdominio en el DNS (más allá del registro A que crea el subdominio).

Claramente, estoy algo confundido aquí, así que agradeceré cualquier orientación que pueda proporcionar.

Puede encontrarlas en esta página Mailjet, o configurarlas si es necesario.

DISCOURSE_SMTP_USER_NAME = Clave API de MailJet
DISCOURSE_SMTP_PASSWORD = Clave Secreta API de MailJet
DISCOURSE_SMTP_ADDRESS es correcta en su ejemplo, aunque también se encuentra en la misma pantalla.

MailJet necesitará que configure el subdominio, creo. Ha pasado un tiempo.

Vaya, ¿así que el nombre de usuario es la clave API? Nunca lo habría imaginado. Lo intentaré y veré si funciona.

Por cierto, ¿tienes idea de cómo cambiar el remitente de una dirección de correo electrónico a otra? El remitente predeterminado de WordPress es actualmente un dominio diferente al del sitio real, y me gustaría cambiarlo. (No sé cómo logré cambiar esto en primer lugar ni de dónde podría estar obteniendo el valor actual, ya que no coincide con la dirección de correo electrónico del administrador de WordPress).

Eso es DISCOURSE_NOTIFICATION_EMAIL y discourse-setup te pregunta por “¿dirección de correo electrónico de notificación?” para que puedas cambiarla fácilmente de esa manera.

¡Gracias!

Hasta ahora, ESTO NO me funciona. Discourse no enviará un correo electrónico de prueba desde la consola correctamente, y el proceso de instalación de Discourse no se completa (por razones que no entiendo).

Voy a borrar todo e intentarlo de nuevo.

Ok, aquí está el mensaje que recibo durante la instalación fallida:

¿Alguna idea de cómo puedo solucionar esto? No está claro qué está mal, ya que este error proviene de los archivos de instalación (y no de nada que yo haya introducido).

¿Podrías compartir el registro completo? Debería haber al menos algunos errores antes de esa línea.

Ejecutando discourse doctor ahora, pero proporcionaré los registros cuando termine. Dos preguntas:

  1. Discourse doctor parece haberse colgado en las siguientes líneas:
Node.js heap_size_limit (488.25) is less than 1024MB. Setting --max-old-space-size=1024.
Node.js heap_size_limit (488.25) is less than 2048MB. Disabling Webpack parallelization with JOBS=0 to conserve memory.
110:M 06 Dec 2023 20:31:39.033 * 100 changes in 300 seconds. Saving...
110:M 06 Dec 2023 20:31:39.037 * Background saving started by pid 3264
3264:C 06 Dec 2023 20:31:39.055 * DB saved on disk
3264:C 06 Dec 2023 20:31:39.056 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB
110:M 06 Dec 2023 20:31:39.138 * Background saving terminated with success
  1. ¿Qué comando necesito ingresar para obtener el archivo de registro? ¿Y cómo puedo descargarlo como un archivo que pueda proporcionarte? (No soy un usuario ávido de la consola, como probablemente sea evidente).

El doctor de Discourse se completó por sí solo, pero todavía con errores.

Aquí están los resultados de la PRUEBA DE CORREO, que curiosamente sugiere lo siguiente:

Error response from daemon: No such container: app

Además, actualmente estoy viendo la lectura de less del proceso del doctor de Discourse, pero no veo ningún comando sobre cómo compartir esta información con usted (fuera de un gigantesco copiar/pegar).

Tiene sentido, considerando que el foro falló al compilar.

Copiar y pegar sería lo que sugeriría.

Se encontró containers/app.yml

==================== CONFIGURACIONES YML ====================
DISCOURSE_HOSTNAME=forum.jimclair.com
SMTP_ADDRESS=in-v3.mailjet.com
DEVELOPER_EMAILS=OCULTADO 
SMTP_PASSWORD=OCULTADO 
SMTP_PORT=587
SMTP_USER_NAME=495e2921d498a8d1d5ebb0afaccd7b1e
LETSENCRYPT_ACCOUNT_EMAIL=OCULTADO 

==================== INFO DE DOCKER ====================
VERSIÓN DE DOCKER: Docker version 24.0.7, build afdd53b

PROCESOS DE DOCKER (docker ps -a)

ID DE CONTENEDOR   IMAGEN     COMANDO   CREADO   ESTADO    PUERTOS     NOMBRES

==================== ¡¡¡PROBLEMA GRAVE!!! ====================
¡La aplicación no se está ejecutando!
Intentando reconstruir
==================== REGISTRO DE RECONSTRUCCIÓN ====================
Arquitectura x86_64 detectada.
Asegurando que el lanzador esté actualizado
El lanzador está actualizado
2.0.20231023-1945: Pulling from discourse/base
Digest: sha256:2b0eb484d20888cc2daadb690dcfa73522105650c1420212e99345a36a424d77
Status: Image is up to date for discourse/base:2.0.20231023-1945
docker.io/discourse/base:2.0.20231023-1945
/usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2023-12-06T20:26:30.044059 #1]  INFO -- : Reading from stdin
I, [2023-12-06T20:26:30.054996 #1]  INFO -- : > locale-gen $LANG && update-locale
I, [2023-12-06T20:26:30.127937 #1]  INFO -- : Generating locales (this might take a while)...
Generation complete.

I, [2023-12-06T20:26:30.129014 #1]  INFO -- : > mkdir -p /shared/postgres_run
I, [2023-12-06T20:26:30.136308 #1]  INFO -- : 
I, [2023-12-06T20:26:30.137496 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2023-12-06T20:26:30.146483 #1]  INFO -- : 
I, [2023-12-06T20:26:30.147545 #1]  INFO -- : > chmod 775 /shared/postgres_run
I, [2023-12-06T20:26:30.151785 #1]  INFO -- : 
I, [2023-12-06T20:26:30.152774 #1]  INFO -- : > rm -fr /var/run/postgresql
I, [2023-12-06T20:26:30.156678 #1]  INFO -- : 
I, [2023-12-06T20:26:30.157561 #1]  INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2023-12-06T20:26:30.161932 #1]  INFO -- : 
I, [2023-12-06T20:26:30.162762 #1]  INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
2023/12/06 20:26:30 socat[18] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): No such file or directory
I, [2023-12-06T20:26:30.178043 #1]  INFO -- : 
I, [2023-12-06T20:26:30.178987 #1]  INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2023-12-06T20:26:30.185013 #1]  INFO -- : 
I, [2023-12-06T20:26:30.186426 #1]  INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2023-12-06T20:26:30.192271 #1]  INFO -- : 
I, [2023-12-06T20:26:30.193332 #1]  INFO -- : > mkdir -p /shared/postgres_run/13-main.pg_stat_tmp
I, [2023-12-06T20:26:30.198906 #1]  INFO -- : 
I, [2023-12-06T20:26:30.200224 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run/13-main.pg_stat_tmp
I, [2023-12-06T20:26:30.205350 #1]  INFO -- : 
I, [2023-12-06T20:26:30.216408 #1]  INFO -- : File > /etc/service/postgres/run  chmod: +x  chown: 
I, [2023-12-06T20:26:30.226083 #1]  INFO -- : File > /etc/service/postgres/log/run  chmod: +x  chown: 
I, [2023-12-06T20:26:30.235233 #1]  INFO -- : File > /etc/runit/3.d/99-postgres  chmod: +x  chown: 
I, [2023-12-06T20:26:30.244692 #1]  INFO -- : File > /root/upgrade_postgres  chmod: +x  chown: 
I, [2023-12-06T20:26:30.246204 #1]  INFO -- : > chown -R root /var/lib/postgresql/13/main
I, [2023-12-06T20:26:32.183094 #1]  INFO -- : 
I, [2023-12-06T20:26:32.184301 #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-12-06T20:26:32.188149 #1]  INFO -- : 
I, [2023-12-06T20:26:32.188988 #1]  INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2023-12-06T20:26:32.234190 #1]  INFO -- : 
I, [2023-12-06T20:26:32.235330 #1]  INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2023-12-06T20:26:32.239962 #1]  INFO -- : 
I, [2023-12-06T20:26:32.241087 #1]  INFO -- : > /root/upgrade_postgres
I, [2023-12-06T20:26:32.250757 #1]  INFO -- : 
I, [2023-12-06T20:26:32.251706 #1]  INFO -- : > rm /root/upgrade_postgres
I, [2023-12-06T20:26:32.255928 #1]  INFO -- : 
I, [2023-12-06T20:26:32.258122 #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-12-06T20:26:32.259713 #1]  INFO -- : Replacing (?-mix:#?listen_addresses *=.*) with listen_addresses = '*' in /etc/postgresql/13/main/postgresql.conf
I, [2023-12-06T20:26:32.260811 #1]  INFO -- : Replacing (?-mix:#?synchronous_commit *=.*) with synchronous_commit = $db_synchronous_commit in /etc/postgresql/13/main/postgresql.conf
I, [2023-12-06T20:26:32.262442 #1]  INFO -- : Replacing (?-mix:#?shared_buffers *=.*) with shared_buffers = $db_shared_buffers in /etc/postgresql/13/main/postgresql.conf
I, [2023-12-06T20:26:32.263355 #1]  INFO -- : Replacing (?-mix:#?work_mem *=.*) with work_mem = $db_work_mem in /etc/postgresql/13/main/postgresql.conf
I, [2023-12-06T20:26:32.264184 #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-12-06T20:26:32.264947 #1]  INFO -- : > install -d -m 0755 -o postgres -g postgres /shared/postgres_backup
I, [2023-12-06T20:26:32.272176 #1]  INFO -- : 
I, [2023-12-06T20:26:32.273754 #1]  INFO -- : Replacing (?-mix:#?checkpoint_segments *=.*) with checkpoint_segments = $db_checkpoint_segments in /etc/postgresql/13/main/postgresql.conf
I, [2023-12-06T20:26:32.274919 #1]  INFO -- : Replacing (?-mix:#?logging_collector *=.*) with logging_collector = $db_logging_collector in /etc/postgresql/13/main/postgresql.conf
I, [2023-12-06T20:26:32.275763 #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-12-06T20:26:32.276744 #1]  INFO -- : Replacing (?-mix:^#local +replication +postgres +peer$) with local replication postgres  peer in /etc/postgresql/13/main/pg_hba.conf
I, [2023-12-06T20:26:32.277507 #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-12-06T20:26:32.278326 #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-12-06T20:26:32.279092 #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-12-06T20:26:32.282210 #1]  INFO -- : > sleep 5
2023-12-06 20:26:32.359 UTC [41] LOG:  starting PostgreSQL 13.12 (Debian 13.12-1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
2023-12-06 20:26:32.361 UTC [41] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2023-12-06 20:26:32.362 UTC [41] LOG:  listening on IPv6 address "::", port 5432
2023-12-06 20:26:32.365 UTC [41] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2023-12-06 20:26:32.373 UTC [44] LOG:  database system was shut down at 2023-12-06 20:24:03 UTC
2023-12-06 20:26:32.383 UTC [41] LOG:  database system is ready to accept connections
I, [2023-12-06T20:26:37.289395 #1]  INFO -- : 
I, [2023-12-06T20:26:37.289669 #1]  INFO -- : > su postgres -c 'createdb discourse' || true
2023-12-06 20:26:37.379 UTC [54] postgres@postgres ERROR:  database "discourse" already exists
2023-12-06 20:26:37.379 UTC [54] postgres@postgres STATEMENT:  CREATE DATABASE discourse;
createdb: error: database creation failed: ERROR:  database "discourse" already exists
I, [2023-12-06T20:26:37.385520 #1]  INFO -- : 
I, [2023-12-06T20:26:37.386567 #1]  INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
2023-12-06 20:26:37.489 UTC [58] postgres@discourse ERROR:  role "discourse" already exists
2023-12-06 20:26:37.489 UTC [58] postgres@discourse STATEMENT:  create user discourse;
ERROR:  role "discourse" already exists
I, [2023-12-06T20:26:37.493228 #1]  INFO -- : 
I, [2023-12-06T20:26:37.494395 #1]  INFO -- : > su postgres -c 'psql discourse -c "grant all privileges on database discourse to discourse;"' || true
I, [2023-12-06T20:26:37.580872 #1]  INFO -- : GRANT

I, [2023-12-06T20:26:37.582256 #1]  INFO -- : > su postgres -c 'psql discourse -c "alter schema public owner to discourse;"'
I, [2023-12-06T20:26:37.675825 #1]  INFO -- : ALTER SCHEMA

I, [2023-12-06T20:26:37.676981 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists hstore;"'
NOTICE:  extension "hstore" already exists, skipping
I, [2023-12-06T20:26:37.768934 #1]  INFO -- : CREATE EXTENSION
I, [2023-12-06T20:26:37.770031 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists pg_trgm;"'
NOTICE:  extension "pg_trgm" already exists, skipping
I, [2023-12-06T20:26:37.859735 #1]  INFO -- : CREATE EXTENSION

I, [2023-12-06T20:26:37.860890 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists vector;"'
NOTICE:  extension "vector" already exists, skipping
I, [2023-12-06T20:26:37.935265 #1]  INFO -- : CREATE EXTENSION

I, [2023-12-06T20:26:37.936060 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists hstore;"'
NOTICE:  extension "hstore" already exists, skipping
I, [2023-12-06T20:26:37.997652 #1]  INFO -- : CREATE EXTENSION

I, [2023-12-06T20:26:37.998539 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists pg_trgm;"'
NOTICE:  extension "pg_trgm" already exists, skipping
I, [2023-12-06T20:26:38.064153 #1]  INFO -- : CREATE EXTENSION

I, [2023-12-06T20:26:38.065166 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists vector;"'
NOTICE:  extension "vector" already exists, skipping
I, [2023-12-06T20:26:38.129276 #1]  INFO -- : CREATE EXTENSION

I, [2023-12-06T20:26:38.130194 #1]  INFO -- : > sudo -u postgres psql discourse
I, [2023-12-06T20:26:38.135353 #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-12-06T20:26:38.239022 #1]  INFO -- : File > /var/lib/postgresql/take-database-backup  chmod: +x  chown: postgres:postgres
I, [2023-12-06T20:26:38.244519 #1]  INFO -- : File > /var/spool/cron/crontabs/postgres  chmod:   chown: 
I, [2023-12-06T20:26:38.245255 #1]  INFO -- : > echo postgres installed!
I, [2023-12-06T20:26:38.248470 #1]  INFO -- : postgres installed!

I, [2023-12-06T20:26:38.255515 #1]  INFO -- : File > /etc/service/redis/run  chmod: +x  chown: 
I, [2023-12-06T20:26:38.261932 #1]  INFO -- : File > /etc/service/redis/log/run  chmod: +x  chown: 
I, [2023-12-06T20:26:38.268388 #1]  INFO -- : File > /etc/runit/3.d/10-redis  chmod: +x  chown: 
I, [2023-12-06T20:26:38.270088 #1]  INFO -- : Replacing daemonize yes with  in /etc/redis/redis.conf
I, [2023-12-06T20:26:38.271335 #1]  INFO -- : Replacing (?-mix:^pidfile.*$) with  in /etc/redis/redis.conf
I, [2023-12-06T20:26:38.272324 #1]  INFO -- : > install -d -m 0755 -o redis -g redis /shared/redis_data
I, [2023-12-06T20:26:38.276442 #1]  INFO -- : 
I, [2023-12-06T20:26:38.277583 #1]  INFO -- : Replacing (?-mix:^logfile.*$) with logfile "" in /etc/redis/redis.conf
I, [2023-12-06T20:26:38.278657 #1]  INFO -- : Replacing (?-mix:^bind .*$) with  in /etc/redis/redis.conf
I, [2023-12-06T20:26:38.281449 #1]  INFO -- : Replacing (?-mix:^dir .*$) with dir /shared/redis_data in /etc/redis/redis.conf
I, [2023-12-06T20:26:38.283018 #1]  INFO -- : Replacing (?-mix:^protected-mode yes) with protected-mode no in /etc/redis/redis.conf
I, [2023-12-06T20:26:38.284259 #1]  INFO -- : Replacing # io-threads 4 with io-threads $redis_io_threads in /etc/redis/redis.conf
I, [2023-12-06T20:26:38.286500 #1]  INFO -- : > echo redis installed
I, [2023-12-06T20:26:38.289930 #1]  INFO -- : redis installed

I, [2023-12-06T20:26:38.290767 #1]  INFO -- : > cat /etc/redis/redis.conf | grep logfile
I, [2023-12-06T20:26:38.300057 #1]  INFO -- : logfile ""

I, [2023-12-06T20:26:38.300939 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2023-12-06T20:26:38.303702 #1]  INFO -- : > sleep 10
110:C 06 Dec 2023 20:26:38.320 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
110:C 06 Dec 2023 20:26:38.321 # Redis version=7.0.7, bits=64, commit=00000000, modified=0, pid=110, just started
110:C 06 Dec 2023 20:26:38.322 # Configuration loaded
110:M 06 Dec 2023 20:26:38.323 * monotonic clock: POSIX clock_gettime
110:M 06 Dec 2023 20:26:38.325 * Running mode=standalone, port=6379.
110:M 06 Dec 2023 20:26:38.325 # Server initialized
110:M 06 Dec 2023 20:26:38.326 # 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.
110:M 06 Dec 2023 20:26:38.327 * Loading RDB produced by version 7.0.7
110:M 06 Dec 2023 20:26:38.328 * RDB age 155 seconds
110:M 06 Dec 2023 20:26:38.328 * RDB memory usage when created 1.44 Mb
110:M 06 Dec 2023 20:26:38.329 * Done loading RDB, keys loaded: 34, keys expired: 0.
110:M 06 Dec 2023 20:26:38.330 * DB loaded from disk: 0.003 seconds
110:M 06 Dec 2023 20:26:38.330 * Ready to accept connections
I, [2023-12-06T20:26:48.309711 #1]  INFO -- : 
I, [2023-12-06T20:26:48.310733 #1]  INFO -- : > thpoff echo "thpoff is installed!"
I, [2023-12-06T20:26:48.315835 #1]  INFO -- : thpoff is installed!

I, [2023-12-06T20:26:48.316614 #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-12-06T20:26:48.421314 #1]  INFO -- : 
I, [2023-12-06T20:26:48.422469 #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-12-06T20:26:48.505162 #1]  INFO -- : 
I, [2023-12-06T20:26:48.506193 #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-12-06T20:26:48.592535 #1]  INFO -- : 
I, [2023-12-06T20:26:48.593337 #1]  INFO -- : > rm -f /etc/cron.d/anacron
I, [2023-12-06T20:26:48.597070 #1]  INFO -- : 
I, [2023-12-06T20:26:48.601327 #1]  INFO -- : File > /etc/cron.d/anacron  chmod:   chown: 
I, [2023-12-06T20:26:48.608402 #1]  INFO -- : File > /etc/runit/1.d/copy-env  chmod: +x  chown: 
I, [2023-12-06T20:26:48.614544 #1]  INFO -- : File > /etc/service/unicorn/run  chmod: +x  chown: 
I, [2023-12-06T20:26:48.620938 #1]  INFO -- : File > /etc/service/nginx/run  chmod: +x  chown: 
I, [2023-12-06T20:26:48.627641 #1]  INFO -- : File > /etc/runit/3.d/01-nginx  chmod: +x  chown: 
I, [2023-12-06T20:26:48.634446 #1]  INFO -- : File > /etc/runit/3.d/02-unicorn  chmod: +x  chown: 
I, [2023-12-06T20:26:48.635292 #1]  INFO -- : Replacing # postgres with sv start postgres || exit 1 in /etc/service/unicorn/run
I, [2023-12-06T20:26:48.636055 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2023-12-06T20:26:48.639453 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git reset --hard
137:C 06 Dec 2023 20:26:48.649 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
137:C 06 Dec 2023 20:26:48.650 # Redis version=7.0.7, bits=64, commit=00000000, modified=0, pid=137, just started
137:C 06 Dec 2023 20:26:48.650 # Configuration loaded
137:M 06 Dec 2023 20:26:48.651 * monotonic clock: POSIX clock_gettime
137:M 06 Dec 2023 20:26:48.654 # Warning: Could not create server TCP listening socket *:6379: bind: Address already in use
137:M 06 Dec 2023 20:26:48.654 # Failed listening on port 6379 (TCP), aborting.
Updating files:  14% (4924/33858)^MUpdating files:  15% (5079/33858)^MUpdating files:  16% (5418/33858)^MUpdating files:  17% (5756/33858)^MUpdating files:  18% (6095/33858)^MUpdating files:  19% (6434/33858)^MUpdating files:  20% (6772/33858)^MUpdating files:  21% (7111/33858)^MUpdating files:  22% (7449/33858)^MUpdating files:  23% (7788/33858)^MUpdating files:  24% (8126/33858)^MUpdating files:  25% (8465/33858)^MUpdating files:  26% (8804/33858)^MUpdating files:  27% (9142/33858)^MUpdating files:  28% (9481/33858)^MUpdating files:  28% (9556/33858)^MUpdating files:  29% (9819/33858)^MUpdating files:  30% (10158/33858)^MUpdating files:  31% (10496/33858)^MUpdating files:  32% (10835/33858)^MUpdating files:  33% (11174/33858)^MUpdating files:  34% (11512/33858)^MUpdating files:  35% (11851/33858)^MUpdating files:  36% (12189/33858)^MUpdating files:  37% (12528/33858)^MUpdating files:  38% (12867/33858)^MUpdating files:  39% (13205/33858)^MUpdating files:  40% (13544/33858)^MUpdating files:  41% (13882/33858)^MUpdating files:  42% (14221/33858)^MUpdating files:  43% (14559/33858)^MUpdating files:  44% (14898/33858)^MUpdating files:  45% (15237/33858)^MUpdating files:  45% (15499/33858)^MUpdating files:  46% (15575/33858)^M^MUpdating files:  47% (15914/33858)^MUpdating files:  48% (16252/33858)^MUpdating files:  49% (16591/33858)^MUpdating files:  50% (16929/33858)^MUpdating files:  51% (17268/33858)^MUpdating files:  52% (17607/33858)^MUpdating files:  53% (17945/33858)^MUpdating files:  54% (18284/33858)^MUpdating files:  55% (18622/33858)^MUpdating files:  56% (18961/33858)^MUpdating files:  57% (19300/33858)^MUpdating files:  58% (19638/33858)^MUpdating files:  59% (19977/33858)^MUpdating files:  60% (20315/33858)^MUpdating files:  61% (20654/33858)^MUpdating files:  62% (20992/33858)^MUpdating files:  63% (21331/33858)^MUpdating files:  64% (21670/33858)^MUpdating files:  64% (21754/33858)^MUpdating files:  65% (22008/33858)^MUpdating files:  66% (22347/33858)^MUpdating files:  67% (22685/33858)^MUpdating files:  68% (23024/33858)^MUpdating files:  69% (23363/33858)^MUpdating files:  70% (23701/33858)^MUpdating files:  71% (24040/33858)^MUpdating files:  72% (24378/33858)^MUpdating files:  73% (24717/33858)^MUpdating files:  74% (25055/33858)^MUpdating files:  75% (25394/33858)^MUpdating files:  76% (25733/33858)^MUpdating files:  77% (26071/33858)^MUpdating files:  78% (26410/33858)^MUpdating files:  79% (26748/33858)^MUpdating files:  80% (27087/33858)^MUpdating files:  80% (27336/33858)^MUpdating files:  81% (27425/33858)^MUpdating files:  82% (27764/33858)^MUpdating files:  83% (28103/33858)^MUpdating files:  84% (28441/33858)^MUpdating files:  85% (28780/33858)^MUpdating files:  86% (29118/33858)^MUpdating files:  87% (29457/33858)^MUpdating files:  88% (29796/33858)^MUpdating files:  89% (30134/33858)^MUpdating files:  90% (30473/33858)^MUpdating files:  91% (30811/33858)^MUpdating files:  92% (31150/33858)^MUpdating files:  93% (31488/33858)^MUpdating files:  94% (31827/33858)^MUpdating files:  94% (32069/33858)^MUpdating files:  95% (32166/33858)^MUpdating files:  96% (32504/33858)^MUpdating files:  97% (32843/33858)^MUpdating files:  98% (33181/33858)^MUpdating files:  99% (33520/33858)^MUpdating files: 100% (33858/33858)^MUpdating files: 100% (33858/33858), done.
I, [2023-12-06T20:26:56.173644 #1]  INFO -- : HEAD is now at 043b4a418 FIX: replaces data-tooltip usage by <DTooltip /> (#24062)

I, [2023-12-06T20:26:56.177410 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git clean -f
I, [2023-12-06T20:26:56.982967 #1]  INFO -- : 
I, [2023-12-06T20:26:56.983710 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse bash -c '
  set -o errexit
  if [ $(git rev-parse --is-shallow-repository) == "true" ]; then
      git remote set-branches --add origin main
      git remote set-branches origin tests-passed
      git fetch --depth 1 origin tests-passed
  else
      git fetch --tags --prune-tags --prune --force origin
  fi
'
From https://github.com/discourse/discourse
 - [deleted]             (none)     -> origin/0-flake-key
 - [deleted]             (none)     -> origin/0-obscuring
 - [deleted]             (none)     -> origin/0-router-lint
 - [deleted]             (none)     -> origin/0-router-service
 - [deleted]             (none)     -> origin/autoimport-cleanup
 - [deleted]             (none)     -> origin/category-bullet-only
 - [deleted]             (none)     -> origin/dependabot/bundler/syntax_tree-6.2.0
 - [deleted]             (none)     -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/aws-s3-3.4.0
 - [deleted]             (none)     -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/aws-s3-multipart-3.8.0
 - [deleted]             (none)     -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/core-3.6.0
 - [deleted]             (none)     -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/utils-5.5.2
 - [deleted]             (none)     -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/xhr-upload-3.4.2
 - [deleted]             (none)     -> origin/dev-upgrade-reject-reason-reviewable-modal
 - [deleted]             (none)     -> origin/dev/ability-to-collect-stats-without-public-exposing
 - [deleted]             (none)     -> origin/dev/minio-s3-system-specs
 - [deleted]             (none)     -> origin/dev/re-enable-minio-specs
 - [deleted]             (none)     -> origin/dev/switch-over-category-settings
 - [deleted]             (none)     -> origin/dev/switch-over-more-category-settings
 - [deleted]             (none)     -> origin/discovery-named-outlets
 - [deleted]             (none)     -> origin/feature/theme-settings-migration
 - [deleted]             (none)     -> origin/fix/account-for-empty-string-site-settings
 - [deleted]             (none)     -> origin/footnote-plugin
 - [deleted]             (none)     -> origin/metadata-update
 - [deleted]             (none)     -> origin/modal-ux
 - [deleted]             (none)     -> origin/neil-2
 - [deleted]             (none)     -> origin/perf_cache_async_search
 - [deleted]             (none)     -> origin/spoiler-plugin
 - [deleted]             (none)     -> origin/support-search-customizationz
   043b4a418..42a75e3df  main                   -> origin/main
 * [new branch]          0-lint-suffix          -> origin/0-lint-suffix
 * [new branch]          0-rubocop              -> origin/0-rubocop
 * [new branch]          0-timeoubara           -> origin/0-timeoubara
 * [new branch]          0-typos                -> origin/0-typos
 * [new branch]          add-custom-emoji-sanitization-clean -> origin/add-custom-emoji-sanitization-clean
 * [new branch]          add-ds-store-to-gitignore -> origin/add-ds-store-to-gitignore
 + 64520a075...ff17131c9 add-new-chat-indicator-preference-only-mentions -> origin/add-new-chat-indicator-preference-only-mentions  (actualización forzada)
 * [new branch]          api-topic-title-decorator -> origin/api-topic-title-decorator
 * [new branch]          array-custom-field-fix -> origin/array-custom-field-fix
 * [new branch]          array-custom-field-order -> origin/array-custom-field-order
 * [new branch]          avatar-notifications   -> origin/avatar-notifications
 * [new branch]          boosted-searches       -> origin/boosted-searches
 * [new branch]          bulk-button-class      -> origin/bulk-button-class
 * [new branch]          category_definition    -> origin/category_definition
 * [new branch]          chat-github-onebox     -> origin/chat-github-onebox
 * [new branch]          chat-reaction-emoji-alignment -> origin/chat-reaction-emoji-alignment
 * [new branch]          chat/direct-messages   -> origin/chat/direct-messages
 * [new branch]          custom-field-store-cleanup -> origin/custom-field-store-cleanup
 * [new branch]          delete-backups-based-on-time-window -> origin/delete-backups-based-on-time-window
 * [new branch]          dependabot/npm_and_yarn/app/assets/javascripts/uppy/aws-s3-3.5.0 -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/aws-s3-3.5.0
 * [new branch]          dependabot/npm_and_yarn/app/assets/javascripts/uppy/aws-s3-multipart-3.9.0 -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/aws-s3-multipart-3.9.0
* [new branch]          dependabot/npm_and_yarn/app/assets/javascripts/uppy/core-3.7.1 -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/core-3.7.1
 * [new branch]          dependabot/npm_and_yarn/app/assets/javascripts/uppy/utils-5.6.0 -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/utils-5.6.0
 * [new branch]          dependabot/npm_and_yarn/app/assets/javascripts/uppy/xhr-upload-3.5.0 -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/xhr-upload-3.5.0
 * [new branch]          desktop-notification-handlers -> origin/desktop-notification-handlers
 * [new branch]          dev/add-a-reference-column-to-notifications -> origin/dev/add-a-reference-column-to-notifications
 + ee95e6359...346f9d1cd dev/add-new-chat-metrics -> origin/dev/add-new-chat-metrics  (actualización forzada)
 * [new branch]          dev/dry-up-user-status-serializers -> origin/dev/dry-up-user-status-serializers
 * [new branch]          dev/flaky-chat-details-collapser-spec -> origin/dev/flaky-chat-details-collapser-spec
 * [new branch]          dev/no-need-to-include-user-status-twice -> origin/dev/no-need-to-include-user-status-twice
 * [new branch]          dev/rethink-mass-mentions -> origin/dev/rethink-mass-mentions
 * [new branch]          dev/rethink-mass-mentions-polymorphic -> origin/dev/rethink-mass-mentions-polymorphic
 * [new branch]          dev/revert-guardian-devex -> origin/dev/revert-guardian-devex
 * [new branch]          dev/use-system-user-id-const -> origin/dev/use-system-user-id-const
 + 54940ca5c...fb0c7ba69 dev_paginate_categories_json -> origin/dev_paginate_categories_json  (actualización forzada)
 * [new branch]          dev_watched_words      -> origin/dev_watched_words
 + 46fe4511f...a9d0e7069 ember-4                -> origin/ember-4  (actualización forzada)
 * [new branch]          ember-5-plugins        -> origin/ember-5-plugins
 * [new branch]          extract_stripper       -> origin/extract_stripper
 * [new branch]          feature/add-copy-share-link-post-functionality -> origin/feature/add-copy-share-link-post-functionality
   9a6c6fd5b..8780daeee  feature/bookmark-menu-and-modal-redesign -> origin/feature/bookmark-menu-and-modal-redesign
 * [new branch]          feature/migrations-schema-generator -> origin/feature/migrations-schema-generator
 * [new branch]          feature_watched_words_validation -> origin/feature_watched_words_validation
 * [new branch]          file-size-restriction  -> origin/file-size-restriction
   43df37774..4393dd37e  filtered-events        -> origin/filtered-events
 * [new branch]          fix/count-mass-mentions-correctly -> origin/fix/count-mass-mentions-correctly
 * [new branch]          fix_category_select_kits -> origin/fix_category_select_kits
 * [new branch]          full-page              -> origin/full-page
   ce7fb6906..a6227532d  generic-import-latest  -> origin/generic-import-latest
 * [new branch]          generic-import-latest-snowflake -> origin/generic-import-latest-snowflake
 * [new branch]          generic-import-update  -> origin/generic-import-update
 * [new branch]          image-assets           -> origin/image-assets
 * [new branch]          independent-theme-compiler -> origin/independent-theme-compiler
 * [new branch]          input-text-field-component -> origin/input-text-field-component
 * [new branch]          issue/fix-guardian-init-basic-user -> origin/issue/fix-guardian-init-basic-user
 * [new branch]          keyword-site-setting   -> origin/keyword-site-setting
 + bdcc24f96...92e545292 list-wrapper           -> origin/list-wrapper  (actualización forzada)
   e3636078c..5def32699  mock-chat-index-redesign -> origin/mock-chat-index-redesign
 * [new branch]          move_inflector         -> origin/move_inflector
 * [new branch]          oklab                  -> origin/oklab
 * [new branch]          poc/auto-after-before-plugin-outlets -> origin/poc/auto-after-before-plugin-outlets
 * [new branch]          poc/insert-before-after-wrapping-outlet -> origin/poc/insert-before-after-wrapping-outlet
 * [new branch]          pretty-text-please     -> origin/pretty-text-please
 * [new branch]          revert-maxmind         -> origin/revert-maxmind
   ef3f41543..223626d7a  stable                 -> origin/stable
 * [new branch]          support-load-more-btn  -> origin/support-load-more-btn
 * [new branch]          test-issue-temporary   -> origin/test-issue-temporary
   043b4a418..42a75e3df  tests-passed           -> origin/tests-passed
 * [new branch]          tobiaseigen-patch-3    -> origin/tobiaseigen-patch-3
 * [new branch]          transform-hooks        -> origin/transform-hooks
 * [new branch]          transform-post-fn-api  -> origin/transform-post-fn-api
 * [new branch]          tweaks-2-fr            -> origin/tweaks-2-fr
 * [new branch]          use-sassc-embedded     -> origin/use-sassc-embedded
 * [new branch]          username_cache         -> origin/username_cache
 * [new branch]          ux-add-sorting-params-to-outlet -> origin/ux-add-sorting-params-to-outlet
 t [tag update]          beta                   -> beta
 t [tag update]          latest-release         -> latest-release
 * [new tag]             v3.1.3                 -> v3.1.3
 * [new tag]             v3.2.0.beta3           -> v3.2.0.beta3
I, [2023-12-06T20:26:58.926569 #1]  INFO -- : 
I, [2023-12-06T20:26:58.927227 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse bash -c '
  set -o errexit
  if [[ $(git symbolic-ref --short HEAD) == tests-passed ]] ; then
      git pull
  else
      git -c advice.detachedHead=false checkout tests-passed
  fi
'
Cambiado a una nueva rama 'tests-passed'
I, [2023-12-06T20:27:03.240852 #1]  INFO -- : La rama 'tests-passed' configurada para seguir la rama remota 'tests-passed' desde 'origin'.

I, [2023-12-06T20:27:03.241691 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git config user.discourse-version tests-passed
I, [2023-12-06T20:27:03.259458 #1]  INFO -- : 
I, [2023-12-06T20:27:03.260307 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp
I, [2023-12-06T20:27:03.268215 #1]  INFO -- : 
I, [2023-12-06T20:27:03.268948 #1]  INFO -- : > cd /var/www/discourse && chown discourse:www-data tmp
I, [2023-12-06T20:27:03.274182 #1]  INFO -- : 
I, [2023-12-06T20:27:03.274855 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/pids
I, [2023-12-06T20:27:03.278878 #1]  INFO -- : 
I, [2023-12-06T20:27:03.279454 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/sockets
I, [2023-12-06T20:27:03.283264 #1]  INFO -- : 
I, [2023-12-06T20:27:03.283766 #1]  INFO -- : > cd /var/www/discourse && touch tmp/.gitkeep
I, [2023-12-06T20:27:03.288610 #1]  INFO -- : 
I, [2023-12-06T20:27:03.289240 #1]  INFO -- : > cd /var/www/discourse && mkdir -p                    /shared/log/rails
I, [2023-12-06T20:27:03.294659 #1]  INFO -- : 
I, [2023-12-06T20:27:03.295302 #1]  INFO -- : > cd /var/www/discourse && bash -c "touch -a           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log"
I, [2023-12-06T20:27:03.302627 #1]  INFO -- : 
I, [2023-12-06T20:27:03.303433 #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-12-06T20:27:03.315829 #1]  INFO -- : 
I, [2023-12-06T20:27:03.316535 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/{uploads,backups}"
I, [2023-12-06T20:27:03.323346 #1]  INFO -- : 
I, [2023-12-06T20:27:03.324041 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/{uploads,backups} /var/www/discourse/public"
I, [2023-12-06T20:27:03.329963 #1]  INFO -- : 
I, [2023-12-06T20:27:03.330611 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/tmp/{backups,restores}"
I, [2023-12-06T20:27:03.336990 #1]  INFO -- : 
I, [2023-12-06T20:27:03.338135 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/tmp/{backups,restores} /var/www/discourse/tmp"
I, [2023-12-06T20:27:03.344705 #1]  INFO -- : 
I, [2023-12-06T20:27:03.345357 #1]  INFO -- : > cd /var/www/discourse && chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp
I, [2023-12-06T20:27:03.352154 #1]  INFO -- : 
I, [2023-12-06T20:27:03.352907 #1]  INFO -- : > cd /var/www/discourse && [ ! -d public/plugins ] || find public/plugins/ -maxdepth 1 -xtype l -delete
I, [2023-12-06T20:27:03.356397 #1]  INFO -- : 
I, [2023-12-06T20:27:03.358224 #1]  INFO -- : Reemplazando # redis con sv start redis || exit 1 en /etc/service/unicorn/run
I, [2023-12-06T20:27:03.359316 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/docker_manager.git
Clonando en 'docker_manager'...
I, [2023-12-06T20:27:04.552327 #1]  INFO -- : 
I, [2023-12-06T20:27:04.553636 #1]  INFO -- : > cp /var/www/discourse/config/nginx.sample.conf /etc/nginx/conf.d/discourse.conf
I, [2023-12-06T20:27:04.563675 #1]  INFO -- : 
I, [2023-12-06T20:27:04.565087 #1]  INFO -- : > rm /etc/nginx/sites-enabled/default
I, [2023-12-06T20:27:04.571639 #1]  INFO -- : 
I, [2023-12-06T20:27:04.573162 #1]  INFO -- : > mkdir -p /var/nginx/cache
I, [2023-12-06T20:27:04.580350 #1]  INFO -- : 
I, [2023-12-06T20:27:04.582472 #1]  INFO -- : Reemplazando pid /run/nginx.pid; con daemon off; en /etc/nginx/nginx.conf
I, [2023-12-06T20:27:04.583466 #1]  INFO -- : Reemplazando (?m-ix:upstream[^\}]+\}) con upstream discourse { server 127.0.0.1:3000; } en /etc/nginx/conf.d/discourse.conf
I, [2023-12-06T20:27:04.584155 #1]  INFO -- : Reemplazando (?-mix:server_name.+$) con server_name _ ; en /etc/nginx/conf.d/discourse.conf
I, [2023-12-06T20:27:04.584716 #1]  INFO -- : Reemplazando (?-mix:client_max_body_size.+$) con client_max_body_size $upload_size ; en /etc/nginx/conf.d/discourse.conf
I, [2023-12-06T20:27:04.585271 #1]  INFO -- : Reemplazando (?-mix:worker_connections.+$) con worker_connections $nginx_worker_connections ; en /etc/nginx/nginx.conf
I, [2023-12-06T20:27:04.585727 #1]  INFO -- : > echo "configuración web completada"
I, [2023-12-06T20:27:04.588861 #1]  INFO -- : configuración web completada

I, [2023-12-06T20:27:04.589566 #1]  INFO -- : > cd /var/www/discourse && gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,""); print $0 }' Gemfile.lock)
I, [2023-12-06T20:27:04.923204 #1]  INFO -- : 
I, [2023-12-06T20:27:04.927970 #1]  INFO -- : > cd /var/www/discourse && find /var/www/discourse ! -user discourse -exec chown discourse {} \+
I, [2023-12-06T20:27:10.523499 #1]  INFO -- : 
I, [2023-12-06T20:27:10.524699 #1]  INFO -- : > cd /var/www/discourse && if [ "tests-passed" != "tests-passed" ]; then
  rm -rf app/assets/javascripts/node_modules
fi
I, [2023-12-06T20:27:10.527759 #1]  INFO -- : 
I, [2023-12-06T20:27:10.528364 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'yarn install --frozen-lockfile && yarn cache clean'
advertencia " > @glint/environment-ember-loose@1.1.0" tiene una dependencia peer "@glimmer/component@^1.1.2" no satisfecha.
advertencia " > @glint/environment-ember-template-imports@1.1.0" tiene una dependencia peer "ember-template-imports@^3.0.0" no satisfecha.
advertencia El campo de resolución "unset-value@2.0.1" es incompatible con la versión solicitada "unset-value@^1.0.0"
advertencia El patrón ["wrap-ansi@^7.0.0"] está intentando descomprimir en el mismo destino "/home/discourse/.cache/yarn/v6/npm-wrap-ansi-cjs-7.0.0-67e145cff510a6a6984bdf1152911d69d2eb9e43-integrity/node_modules/wrap-ansi-cjs" que el patrón ["wrap-ansi-cjs@npm:wrap-ansi@^7.0.0"]. Esto podría resultar en un comportamiento no determinista, omitiendo.
advertencia " > discourse-markdown-it@1.0.0" tiene una dependencia peer "xss@*" no satisfecha.
advertencia "workspace-aggregator-943550ef-70f9-4b27-bc8f-8ecafe854b91 > discourse > @ember/legacy-built-in-components@0.5.0" tiene una dependencia peer incorrecta "ember-source@>= 4.8".
advertencia "workspace-aggregator-943550ef-70f9-4b27-bc8f-8ecafe854b91 > discourse > @uppy/aws-s3@3.0.6" tiene una dependencia peer incorrecta "@uppy/core@^3.1.2".
advertencia "workspace-aggregator-943550ef-70f9-4b27-bc8f-8ecafe854b91 > discourse > @uppy/aws-s3-multipart@3.1.3" tiene una dependencia peer incorrecta "@uppy/core@^3.1.2".
advertencia "workspace-aggregator-943550ef-70f9-4b27-bc8f-8ecafe854b91 > discourse > @uppy/xhr-upload@3.1.1" tiene una dependencia peer incorrecta "@uppy/core@^3.1.2".
advertencia "workspace-aggregator-943550ef-70f9-4b27-bc8f-8ecafe854b91 > discourse-plugins > ember-this-fallback@0.4.0" tiene una dependencia peer "ember-source@^3.28.11 || ^4.0.0" no satisfecha.
advertencia "workspace-aggregator-943550ef-70f9-4b27-bc8f-8ecafe854b91 > discourse > @uppy/aws-s3 > @uppy/xhr-upload@3.3.0" tiene una dependencia peer incorrecta "@uppy/core@^3.2.1".
I, [2023-12-06T20:29:55.103882 #1]  INFO -- : yarn install v1.22.19
[1/5] Validando package.json...
[2/5] Resolviendo paquetes...
[3/5] Obteniendo paquetes...
[4/5] Enlazando dependencias...
[5/5] Construyendo paquetes nuevos...
$ yarn --cwd app/assets/javascripts $(node -e 'const argv = JSON.parse(process.env.npm_config_argv).original; const passthrough = [`--frozen-lockfile`, `-s`].filter(arg => argv.includes(arg)); console.log(passthrough.join(` `));')
yarn install v1.22.19
[1/4] Resolviendo paquetes...
[2/4] Obteniendo paquetes...
[3/4] Enlazando dependencias...
[4/4] Construyendo paquetes nuevos...
$ ./run-patch-package
patch-package 8.0.0
Aplicando parches...
babel-plugin-debug-macros@0.3.4 ✔
content-tag@1.1.2 ✔
ember-cli@5.0.0 ✔
ember-this-fallback@0.4.0 (1 deprecation-name) ✔
ember-this-fallback@0.4.0 (2 themes) ✔
virtual-dom@2.1.1 ✔
Listo en 78.38s.
Listo en 150.14s.
yarn cache v1.22.19
éxito Caché limpiada.
Listo en 13.55s.
I, [2023-12-06T20:29:55.136749 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle config --local deployment true'
I, [2023-12-06T20:29:55.567684 #1]  INFO -- : 
I, [2023-12-06T20:29:55.568701 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle config --local without "development test"'
I, [2023-12-06T20:29:55.820221 #1]  INFO -- : Estás reemplazando el valor local actual de without, que actualmente es "test:development"

I, [2023-12-06T20:29:55.821029 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle install --retry 3 --jobs 4'
I, [2023-12-06T20:30:38.015883 #1]  INFO -- : Obteniendo metadatos de gem de https://rubygems.org/.........
Obteniendo rake 13.1.0
Instalando rake 13.1.0
Usando builder 3.2.4
Usando erubi 1.12.0
Obteniendo racc 1.7.3
Usando crass 1.0.6
Usando minitest 5.20.0
Usando concurrent-ruby 1.2.2
Usando rack 2.2.8
Usando mini_mime 1.1.5
Obteniendo timeout 0.4.1
Obteniendo public_suffix 5.0.4
Obteniendo date 3.3.4
Instalando timeout 0.4.1
Instalando racc 1.7.3 con extensiones nativas
Instalando date 3.3.4 con extensiones nativas
Instalando public_suffix 5.0.4
Obteniendo aws-eventstream 1.3.0
Instalando aws-eventstream 1.3.0
Usando jmespath 1.6.2
Obteniendo base64 0.2.0
Usando aws-partitions 1.583.0
Usando msgpack 1.7.2
Usando bundler 2.4.13
Usando byebug 11.1.3
Usando cbor 0.5.9.6
Obteniendo cgi 0.4.1
Instalando base64 0.2.0
Instalando cgi 0.4.1 con extensiones nativas
Usando chunky_png 1.4.0
Usando coderay 1.1.3
Usando colored2 4.0.0
Usando connection_pool 2.4.1
Usando openssl 3.2.0
Usando cppjieba_rb 0.4.2
Obteniendo google-protobuf 3.25.1 (x86_64-linux)
Instalando google-protobuf 3.25.1 (x86_64-linux)
Usando diffy 3.4.2
Usando digest 3.1.1
Usando discourse-fonts 0.0.9
Usando email_reply_trimmer 0.1.13
Obteniendo excon 0.105.0
Instalando excon 0.105.0
Usando execjs 2.9.1
Usando exifr 1.4.0
Usando faraday-net_http 3.0.2
Usando ruby2_keywords 0.0.5
Usando fast_blank 1.0.1
Usando fast_xs 0.8.0
Usando fastimage 2.2.7
Usando ffi 1.16.3
Usando fspath 3.1.2
Usando gc_tracer 1.5.1
Usando guess_html_encoding 0.0.11
Usando hana 1.3.7
Usando hashie 5.0.0
Usando highline 2.1.0
Usando htmlentities 4.3.4
Usando http_accept_language 2.1.1
Usando image_size 3.3.0
Usando in_threads 1.6.0
Usando progress 3.6.0
Obteniendo json 2.7.1
Instalando json 2.7.1 con extensiones nativas
Obteniendo regexp_parser 2.8.3
Instalando regexp_parser 2.8.3
Obteniendo unf_ext 0.0.9.1
Instalando unf_ext 0.0.9.1 con extensiones nativas
Usando jwt 2.7.1
Usando kgio 2.11.4
Usando libv8-node 18.16.0.0 (x86_64-linux)
Usando method_source 1.0.0
Usando thor 1.3.0
Usando zeitwerk 2.6.12
Usando logstash-event 1.2.02
Obteniendo logster 2.13.1
Instalando logster 2.13.1
Usando lru_redux 1.1.0
Usando lz4-ruby 0.3.3
Usando maxminddb 0.1.22
Usando memory_profiler 1.0.1
Usando redis 4.8.1
Usando mini_sql 1.5.0
Usando multi_json 1.15.0
Usando multi_xml 0.6.0
Usando mustache 1.1.1
Obteniendo uri 0.13.0
Instalando uri 0.13.0
Obteniendo nio4r 2.7.0
Instalando nio4r 2.7.0 con extensiones nativas
Usando version_gem 1.1.3
Usando oj 3.16.1
Usando optimist 3.1.0
Usando pg 1.5.4
Usando raindrops 0.20.1
Usando rchardet 1.8.0
Usando rexml 3.2.6
Usando rinku 2.0.6
Usando rotp 6.3.0
Usando rqrcode_core 1.2.0
Usando rubyzip 2.3.2
Usando sshkey 3.0.0
Usando stackprof 0.2.25
Usando i18n 1.14.1
Usando tzinfo 2.0.6
Usando rack-test 2.1.0
Usando request_store 1.5.1
Usando message_bus 4.3.8
Usando rack-mini-profiler 3.1.1
Usando rack-protection 3.1.0
Usando sprockets 3.7.2 desde https://github.com/rails/sprockets (en 3.x@f4d3dae)
Obteniendo net-protocol 0.2.2
Instalando net-protocol 0.2.2
Usando aws-sigv4 1.5.0
Usando addressable 2.8.5
Obteniendo bootsnap 1.17.0
Instalando bootsnap 1.17.0 con extensiones nativas
Usando openssl-signature_algorithm 1.3.0
Obteniendo sass-embedded 1.66.1 (x86_64-linux-gnu)
Instalando sass-embedded 1.66.1 (x86_64-linux-gnu)
Usando uglifier 4.2.0
Obteniendo faraday 2.7.12
Instalando faraday 2.7.12
Usando mini_suffix 0.3.3
Usando omniauth 1.9.2
Usando image_optim 0.31.3
Obteniendo nokogiri 1.15.5 (x86_64-linux)
Instalando nokogiri 1.15.5 (x86_64-linux)
Obteniendo web-push 3.0.1
Instalando web-push 3.0.1
Usando mini_racer 0.8.0
Usando pry 0.14.2
Usando logstash-logger 0.26.1
Usando sidekiq 6.5.12
Usando redis-namespace 1.11.0
Obteniendo net-http 0.4.0
Usando unf 0.1.4
Instalando net-http 0.4.0
Usando oauth-tty 1.0.5
Usando snaky_hash 2.0.1
Obteniendo rbtrace 0.5.0
Usando rss 0.3.0
Usando unicorn 6.1.0
Usando rqrcode 2.2.0
Usando activesupport 7.0.7
Usando tzinfo-data 1.2023.3
Usando net-pop 0.1.2
Usando net-smtp 0.4.0
Usando aws-sdk-core 3.130.2
Usando css_parser 1.16.0
Usando cose 1.3.0
Obteniendo dartsass-ruby 3.0.2
Instalando rbtrace 0.5.0 con extensiones nativas
Instalando dartsass-ruby 3.0.2
Usando faraday-retry 2.2.0
Usando oauth2 1.4.11
Obteniendo loofah 2.22.0
Instalando loofah 2.22.0
Usando ruby-readability 0.7.0
Usando sanitize 6.1.0
Usando rtlcss 0.2.1
Usando pry-byebug 3.10.1
Usando pry-rails 0.3.9
Usando mini_scheduler 0.16.0
Usando simpleidn 0.2.1
Usando oauth 1.1.0
Usando rails-dom-testing 2.2.0
Usando globalid 1.2.1
Usando activemodel 7.0.7
Usando aws-sdk-kms 1.56.0
Usando aws-sdk-sns 1.53.0
Usando omniauth-oauth2 1.7.3
Usando rails-html-sanitizer 1.6.0
Obteniendo json_schemer 2.1.1
Instalando json_schemer 2.1.1
Usando omniauth-oauth 1.2.0
Usando actionview 7.0.7
Usando activejob 7.0.7
Usando active_model_serializers 0.8.4
Usando activerecord 7.0.7
Usando aws-sdk-s3 1.114.0
Usando omniauth-facebook 9.0.0
Usando omniauth-github 1.4.0
Usando omniauth-google-oauth2 0.8.2
Usando omniauth-twitter 1.4.0
Usando actionpack 7.0.7
Usando actionview_precompiler 0.3.0
Usando discourse-seed-fu 2.3.12
Usando railties 7.0.7
Usando sprockets-rails 3.4.2
Usando lograge 0.14.0
Usando rails_failover 2.0.1
Usando rails_multisite 5.0.0
Usando puma 6.4.0
Obteniendo net-imap 0.4.7
Instalando net-imap 0.4.7
Usando mail 2.8.1
Usando actionmailer 7.0.7
¡Bundle completo! 135 dependencias de Gemfile, 170 gems instaladas ahora.
Las gems en los grupos 'development' y 'test' no se instalaron.
Las gems empaquetadas se instalan en `./vendor/bundle`
I, [2023-12-06T20:30:38.029906 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'LOAD_PLUGINS=0 bundle exec rake plugin:pull_compatible_all'
I, [2023-12-06T20:30:42.946058 #1]  INFO -- : docker_manager ya está en la última versión compatible

I, [2023-12-06T20:30:42.947529 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
I, [2023-12-06T20:30:52.368108 #1]  INFO -- : 
I, [2023-12-06T20:30:52.370735 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile'
El límite de tamaño de heap de Node.js (488.25) es menor que 1024MB. Estableciendo --max-old-space-size=1024.
El límite de tamaño de heap de Node.js (488.25) es menor que 2048MB. Deshabilitando la paralelización de Webpack con JOBS=0 para conservar memoria.
110:M 06 dic 2023 20:31:39.033 * 100 cambios en 300 segundos. Guardando...
110:M 06 dic 2023 20:31:39.037 * Inicio del guardado en segundo plano por pid 3264
3264:C 06 dic 2023 20:31:39.055 * Base de datos guardada en disco
3264:C 06 dic 2023 20:31:39.056 * Fork CoW para RDB: actual 0 MB, pico 0 MB, promedio 0 MB
110:M 06 dic 2023 20:31:39.138 * Guardado en segundo plano terminado con éxito

<--- Últimos pocos GCs --->

[3250:0x75de170]   713299 ms: Scavenge 941.1 (1032.4) -> 939.7 (1032.4) MB, 11.8 / 0.0 ms  (mu promedio = 0.392, mu actual = 0.720) fallo de asignación; 
[3250:0x75de170]   713376 ms: Scavenge 941.4 (1032.4) -> 940.0 (1032.4) MB, 13.1 / 0.0 ms  (mu promedio = 0.392, mu actual = 0.720) fallo de asignación; 
[3250:0x75de170]   713474 ms: Scavenge 941.9 (1032.4) -> 940.4 (1036.4) MB, 19.8 / 0.0 ms  (mu promedio = 0.392, mu actual = 0.720) fallo de asignación; 
<--- Pila de JS --->

ERROR FATAL: Se alcanzó el límite de heap Fallo de asignación - memoria del heap de JavaScript agotada
 1: 0xb83f50 node::Abort() [ember]
 2: 0xa94834  [ember]
 3: 0xd647c0 v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [ember]
 4: 0xd64b67 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [ember]
 5: 0xf42265  [ember]
 6: 0xf5474d v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [ember]
 7: 0xf2ee4e v8::internal::HeapAllocator::AllocateRawWithLightRetrySlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [ember]
 8: 0xf30217 v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [ember]
 9: 0xf113ea v8::internal::Factory::NewFillerObject(int, v8::internal::AllocationAlignment, v8::internal::AllocationType, v8::internal::AllocationOrigin) [ember]
10: 0x12d674f v8::internal::Runtime_AllocateInYoungGeneration(int, unsigned long*, v8::internal::Isolate*) [ember]
11: 0x17035b9  [ember]
Abortado (se generó volcado)
error El comando falló con código de salida 134.
I, [2023-12-06T20:42:53.261307 #1]  INFO -- : yarn run v1.22.19
$ /var/www/discourse/app/assets/javascripts/node_modules/.bin/ember build
Construyendo
Entorno: development
ADVERTENCIA: ember-test-selectors: Estás usando una versión de ember-cli-babel no soportada. Las propiedades data-test no se eliminan automáticamente de tu código JS.
construyendo... 
...[ConfigLoader]
...[Babel: discourse-widget-hbs > applyPatches]
...[Babel: ember-source > applyPatches]
...[ember.js]
...[Babel: discourse-common > applyPatches]
...[Babel: truth-helpers > applyPatches]
...[Babel: @ember/legacy-built-in-components > applyPatches]
...[Babel: @ember/render-modifiers > applyPatches]
...[Babel: @ember/test-waiters > applyPatches]
...[Babel: @embroider/util > applyPatches]
...[Babel: dialog-holder > applyPatches]
...[Babel: ember-this-fallback > applyPatches]
...[Babel: ember-cached-decorator-polyfill > applyPatches]
...[Babel: ember-exam > applyPatches]
...[Babel: ember-functions-as-helper-polyfill > applyPatches]
...[Babel: ember-resize-observer-service > applyPatches]
...[Babel: ember-router-service-refresh-polyfill > applyPatches]
...[Babel: float-kit > applyPatches]
...[Babel: select-kit > applyPatches]
...[@embroider/compat/app]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
info Visita https://yarnpkg.com/en/docs/cli/run para documentación sobre este comando.

I, [2023-12-06T20:42:53.304072 #1]  INFO -- : Terminando procesos asíncronos
I, [2023-12-06T20:42:53.306771 #1]  INFO -- : Enviando INT a 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
2023-12-06 20:42:53.307 UTC [41] LOG:  recibido pedido de apagado rápido
I, [2023-12-06T20:42:53.309208 #1]  INFO -- : Enviando TERM a exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 110
110:signal-handler (1701895373) Recibido SIGTERM programando apagado...
2023-12-06 20:42:53.311 UTC [41] LOG:  abortando cualquier transacción activa
2023-12-06 20:42:53.331 UTC [41] LOG:  trabajador en segundo plano "logical replication launcher" (PID 50) salió con código de salida 1
2023-12-06 20:42:53.335 UTC [45] LOG:  apagando
110:M 06 dic 2023 20:42:53.367 # Usuario solicitó apagado...
110:M 06 dic 2023 20:42:53.369 * Guardando la instantánea RDB final antes de salir.
2023-12-06 20:42:53.379 UTC [41] LOG:  sistema de base de datos apagado
110:M 06 dic 2023 20:42:53.392 * Base de datos guardada en disco
110:M 06 dic 2023 20:42:53.393 # Redis está listo para salir, adiós...


FALLIDO
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile' falló con retorno #<Process::Status: pid 3186 exit 134>
Ubicación del fallo: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec falló con los parámetros {"cd"=>"$home", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake themes:update assets:precompile'"]}
bootstrap falló con código de salida 134
** FALLÓ EL BOOTSTRAP ** 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.
ce5db16b179d8bbe8be1cc8898c2d89a9f8259e5f4f6d6bbeda8e6fa69723aa5
==================== FIN DEL REGISTRO DE RECONSTRUCCIÓN ====================
Fallo al reconstruir la aplicación.

Verificando tu nombre de dominio . . .

La conexión a forum.jimclair.com tuvo éxito.
Probablemente deberías eliminar cualquier plugin no estándar y reconstruir.
IntentoIntentando reiniciar el contenedor existente. . . 
Se detectó arquitectura x86_64.

+ /usr/bin/docker run --shm-size=512m -d --restart=always -e LANG=en_US.UTF-8 -e RAILS_ENV=production -e UNICORN_WORKERS=2 -e UNICORN_SIDEKIQS=1 -e RUBY_GC_HEAP_GROWTH_MAX_SLOTS=40000 -e RUBY_GC_HEAP_INIT_SLOTS=400000 -e RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=1.5 -e DISCOURSE_DB_SOCKET=/var/run/postgresql -e DISCOURSE_DB_HOST= -e DISCOURSE_DB_PORT= -e LETSENCRYPT_DIR=/shared/letsencrypt -e DISCOURSE_FORCE_HTTPS=true -e LC_ALL=en_US.UTF-8 -e LANGUAGE=en_US.UTF-8 -e DISCOURSE_HOSTNAME=forum.jimclair.com -e DISCOURSE_DEVELOPER_EMAILS=REDACTED  -e DISCOURSE_SMTP_ADDRESS=in-v3.mailjet.com -e DISCOURSE_SMTP_PORT=587 -e DISCOURSE_SMTP_USER_NAME=495e2921d498a8d1d5ebb0afaccd7b1e -e DISCOURSE_SMTP_PASSWORD=REDACTED  -e DISCOURSE_SMTP_DOMAIN=forum.jimclair.com -e DISCOURSE_NOTIFICATION_EMAIL=noreply@forum.jimclair.com -e LETSENCRYPT_ACCOUNT_EMAIL=REDACTED  -h JimClairDiscourse-app -e DOCKER_HOST_IP=172.17.0.1 --name app -t -p 80:80 -p 443:443 -v /var/discourse/shared/standalone:/shared -v /var/discourse/shared/standalone/log/var-log:/var/log --mac-address 02:43:18:d7:5e:e0 local_discourse/app /sbin/boot
No se pudo encontrar la imagen 'local_discourse/app:latest' localmente
docker: Error response from daemon: pull access denied for local_discourse/app, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
Vea 'docker run --help'.
Error al reiniciar el contenedor.


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

No se detectaron plugins no oficiales.

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

========================================
Versión de Discourse en forum.jimclair.com: NO ENCONTRADA
Versión de Discourse en localhost: NO ENCONTRADA

==================== INFORMACIÓN DE MEMORIA ====================
SO: Linux
RAM (MB): 998

               total        used        free      shared  buff/cache   available
Mem:             952         363         254           3         493         589
Swap:           2047          87        1960

==================== VERIFICACIÓN DE ESPACIO EN DISCO ====================
---------- Espacio en disco del SO ----------
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        24G  7.7G   16G  33% /

==================== INFORMACIÓN DE DISCO ====================
Disk /dev/loop0: 73.9 MiB, 77492224 bytes, 151352 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/loop1: 180.94 MiB, 189730816 bytes, 370568 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/loop2: 40.86 MiB, 42840064 bytes, 83672 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/vda: 25 GiB, 26843545600 bytes, 52428800 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: F62235F3-8D92-4E44-9154-0DCF72CBCB9D

Device       Start      End  Sectors  Size Type
/dev/vda1  2099200 52428766 50329567   24G Linux filesystem
/dev/vda14    2048    10239     8192    4M BIOS boot
/dev/vda15   10240   227327   217088  106M EFI System
/dev/vda16  227328  2097152  1869825  913M Linux extended boot

Las entradas de la tabla de particiones no están en orden de disco.


Disk /dev/vdb: 466 KiB, 477184 bytes, 932 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

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

==================== PRUEBA DE CORREO ====================
Para una prueba robusta, obtenga una dirección en http://www.mail-tester.com/
Enviando correo a REDACTED  . . 


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

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

Creo que estás teniendo problemas de memoria. Como solución temporal, puedes redimensionar tu droplet para completar la reconstrucción y luego reducirla de nuevo, si eso ayuda.

En números redondos, tienes 1G de RAM y 2G de swap, y por el log vemos que ember se quedó sin memoria. Tienes 16G de espacio libre en disco; te sugiero añadir un archivo de swap de 2G y volver a intentarlo.

Editar: cruzado en la publicación. De hecho, una mejora temporal a más RAM es otro enfoque. Asegúrate de navegar la mejora con cuidado para poder volver a la configuración más barata; normalmente, eso significa mantener el tamaño del disco igual.

Editar: hay un par de configuraciones del kernel que deberías establecer para reducir el consumo de memoria virtual. Ver
MKJ’s Opinionated Discourse Deployment Configuration

Además de un archivo de paginación normal, te sugiero que investigues zram, que te permite establecer un porcentaje de RAM para el espacio de paginación comprimido. El paquete de Debian le da una prioridad mayor que al archivo de paginación normal, por lo que actúa efectivamente como un archivo de paginación intermedio muy rápido respaldado por RAM, y la compresión transparente significa hasta 5 veces de ahorro de espacio (es decir, este archivo de paginación muy rápido puede contener hasta 5 veces lo que la RAM normal contendría normalmente).

Parece contraintuitivo, pero funciona muy bien.

Estaba probando esta configuración exacta (1 GB de RAM + 2 GB de SWAP) y falla el 50% de las veces durante la fase de compilación de Ember.

Puedes seguir intentándolo o aumentar a un droplet de $12 con 2 GB de RAM.

cc @david esto es lo que estábamos discutiendo a principios de esta semana.

Vinculando este similar - Upgrade from 3.2.0.beta3-dev to 3.2.0.beta3 failed due to out of memory - #9 by JammyDodger

He tenido dos sitios recientemente con 8 GB de RAM y sin swap que fallaron de esta manera. (Al menos en algún lugar falló con un exit 137). En ambos casos, agregué 2 GB de swap y funcionaron.

¿Esperemos que, para mí, esto pueda considerarse un error?