Discourse dejó de funcionar de repente

Hola,

Mi Discourse dejó de funcionar de repente.

Esta mañana estaba editando algunas publicaciones, pero hace unas dos horas, el Discourse desapareció. En otras palabras, ya no es accesible.

Ayer, agregué un registro TXT al DNS para verificar lo que solicita Google Search Console. Esto no debería tener ningún efecto. ¡No cambié nada más!

Tampoco hice ningún cambio en mi NGINX Proxy Manager.

Intenté reconstruir la aplicación, pero sin éxito. El registro está al final de este texto.

¿Podrían aconsejarme sobre cómo solucionar esto? No sé qué hacer. Gracias.


root@vmi1695712:/var/discourse# ./launcher rebuild app
Se detectó arquitectura x86_64.
Asegurando que el launcher esté actualizado
Obteniendo origen
El launcher está actualizado
Deteniendo el contenedor antiguo
+ /usr/bin/docker stop -t 600 app
app
2.0.20240602-0023: Extrayendo desde discourse/base
Digest: sha256:5e0c30da851a00e824a58b033d59b8f3dd840b513a7694a7a5d0674285c0ee3c
Estado: La imagen está actualizada para discourse/base:2.0.20240602-0023
docker.io/discourse/base:2.0.20240602-0023
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2024-07-04T13:38:50.541714 #1]  INFO -- : Leyendo desde stdin
I, [2024-07-04T13:38:50.560922 #1]  INFO -- : Archivo > /etc/service/postgres/run  chmod: +x  chown:
I, [2024-07-04T13:38:50.569920 #1]  INFO -- : Archivo > /etc/service/postgres/log/run  chmod: +x  chown:
I, [2024-07-04T13:38:50.639464 #1]  INFO -- : Archivo > /etc/runit/3.d/99-postgres  chmod: +x  chown:
I, [2024-07-04T13:38:50.647493 #1]  INFO -- : Archivo > /root/install_postgres  chmod: +x  chown:
I, [2024-07-04T13:38:50.657009 #1]  INFO -- : Archivo > /root/upgrade_postgres  chmod: +x  chown:
I, [2024-07-04T13:38:50.662175 #1]  INFO -- : Reemplazando data_directory = '/var/lib/postgresql/13/main' con data_directory = '/shared/postgres_data' en /etc/postgresql/13/main/postgresql.conf
I, [2024-07-04T13:38:50.663544 #1]  INFO -- : Reemplazando (?-mix:#?listen_addresses *=.*) con listen_addresses = '*' en /etc/postgresql/13/main/postgresql.conf
I, [2024-07-04T13:38:50.663970 #1]  INFO -- : Reemplazando (?-mix:#?synchronous_commit *=.*) con synchronous_commit = $db_synchronous_commit en /etc/postgresql/13/main/postgresql.conf
I, [2024-07-04T13:38:50.664802 #1]  INFO -- : Reemplazando (?-mix:#?shared_buffers *=.*) con shared_buffers = $db_shared_buffers en /etc/postgresql/13/main/postgresql.conf
I, [2024-07-04T13:38:50.665410 #1]  INFO -- : Reemplazando (?-mix:#?work_mem *=.*) con work_mem = $db_work_mem en /etc/postgresql/13/main/postgresql.conf
I, [2024-07-04T13:38:50.665995 #1]  INFO -- : Reemplazando (?-mix:#?default_text_search_config *=.*) con default_text_search_config = '$db_default_text_search_config' en /etc/postgresql/13/main/postgresql.conf
I, [2024-07-04T13:38:50.666444 #1]  INFO -- : Reemplazando (?-mix:#?checkpoint_segments *=.*) con checkpoint_segments = $db_checkpoint_segments en /etc/postgresql/13/main/postgresql.conf
I, [2024-07-04T13:38:50.667277 #1]  INFO -- : Reemplazando (?-mix:#?logging_collector *=.*) con logging_collector = $db_logging_collector en /etc/postgresql/13/main/postgresql.conf
I, [2024-07-04T13:38:50.667726 #1]  INFO -- : Reemplazando (?-mix:#?log_min_duration_statement *=.*) con log_min_duration_statement = $db_log_min_duration_statement en /etc/postgresql/13/main/postgresql.conf
I, [2024-07-04T13:38:50.669744 #1]  INFO -- : Reemplazando (?-mix:^#local +replication +postgres +peer$) con local replication postgres  peer en /etc/postgresql/13/main/pg_hba.conf
I, [2024-07-04T13:38:50.670470 #1]  INFO -- : Reemplazando (?-mix:^host.*all.*all.*127.*$) con host all all 0.0.0.0/0 md5 en /etc/postgresql/13/main/pg_hba.conf
I, [2024-07-04T13:38:50.734826 #1]  INFO -- : Reemplazando (?-mix:^host.*all.*all.*::1\/128.*$) con host all all ::/0 md5 en /etc/postgresql/13/main/pg_hba.conf
I, [2024-07-04T13:38:50.735770 #1]  INFO -- : > [ -f /root/install_postgres ] && /root/install_postgres && rm -f /root/install_postgres
I, [2024-07-04T13:38:54.865947 #1]  INFO -- : Generando locales (esto puede tardar un poco)...
Generación completa.

I, [2024-07-04T13:38:54.866404 #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, [2024-07-04T13:38:55.047164 #1]  INFO -- : Archivo > /usr/local/bin/create_db  chmod: +x  chown:
I, [2024-07-04T13:38:55.060731 #1]  INFO -- : Archivo > /var/lib/postgresql/take-database-backup  chmod: +x  chown: postgres:postgres
I, [2024-07-04T13:38:55.147051 #1]  INFO -- : Archivo > /var/spool/cron/crontabs/postgres  chmod:   chown:
I, [2024-07-04T13:38:55.148314 #1]  INFO -- : > sleep 5
2024-07-04 13:38:55.452 UTC [35] LOG:  iniciando PostgreSQL 13.15 (Debian 13.15-1.pgdg110+1) en x86_64-pc-linux-gnu, compilado por gcc (Debian 10.2.1-6) 10.2.1 20210110, 64 bits
2024-07-04 13:38:55.453 UTC [35] LOG:  escuchando en la dirección IPv4 "0.0.0.0", puerto 5432
2024-07-04 13:38:55.453 UTC [35] LOG:  escuchando en la dirección IPv6 "::", puerto 5432
2024-07-04 13:38:55.462 UTC [35] LOG:  escuchando en el socket Unix "/var/run/postgresql/.s.PGSQL.5432"
2024-07-04 13:38:55.554 UTC [44] LOG:  el sistema de bases de datos se apagó el 2024-07-04 13:37:27 UTC
2024-07-04 13:38:55.649 UTC [35] LOG:  el sistema de bases de datos está listo para aceptar conexiones
I, [2024-07-04T13:39:00.161334 #1]  INFO -- :
I, [2024-07-04T13:39:00.162068 #1]  INFO -- : > /usr/local/bin/create_db
2024-07-04 13:39:00.363 UTC [54] postgres@postgres ERROR:  la base de datos "discourse" ya existe
2024-07-04 13:39:00.363 UTC [54] postgres@postgres STATEMENT:  CREATE DATABASE discourse;
createdb: error: la creación de la base de datos falló: ERROR:  la base de datos "discourse" ya existe
2024-07-04 13:39:00.500 UTC [57] postgres@discourse ERROR:  el rol "discourse" ya existe
2024-07-04 13:39:00.500 UTC [57] postgres@discourse STATEMENT:  create user discourse;
ERROR:  el rol "discourse" ya existe
NOTICE:  la extensión "hstore" ya existe, omitiendo
NOTICE:  la extensión "pg_trgm" ya existe, omitiendo
NOTICE:  la extensión "vector" ya existe, omitiendo
NOTICE:  la extensión "hstore" ya existe, omitiendo
NOTICE:  la extensión "pg_trgm" ya existe, omitiendo
NOTICE:  la extensión "vector" ya existe, omitiendo
I, [2024-07-04T13:39:02.697895 #1]  INFO -- : GRANT
ALTER SCHEMA
CREATE EXTENSION
CREATE EXTENSION
CREATE EXTENSION
CREATE EXTENSION
CREATE EXTENSION
CREATE EXTENSION
UPDATE 0

I, [2024-07-04T13:39:02.699742 #1]  INFO -- : > echo postgres installed!
I, [2024-07-04T13:39:02.708219 #1]  INFO -- : postgres installed!

I, [2024-07-04T13:39:02.729734 #1]  INFO -- : Archivo > /etc/service/redis/run  chmod: +x  chown:
I, [2024-07-04T13:39:02.797663 #1]  INFO -- : Archivo > /etc/service/redis/log/run  chmod: +x  chown:
I, [2024-07-04T13:39:02.825472 #1]  INFO -- : Archivo > /etc/runit/3.d/10-redis  chmod: +x  chown:
I, [2024-07-04T13:39:02.873773 #1]  INFO -- : Reemplazando daemonize yes con  en /etc/redis/redis.conf
I, [2024-07-04T13:39:02.875722 #1]  INFO -- : Reemplazando (?-mix:^pidfile.*$) con  en /etc/redis/redis.conf
I, [2024-07-04T13:39:02.876708 #1]  INFO -- : > install -d -m 0755 -o redis -g redis /shared/redis_data
I, [2024-07-04T13:39:02.889171 #1]  INFO -- :
I, [2024-07-04T13:39:02.890520 #1]  INFO -- : Reemplazando (?-mix:^logfile.*$) con logfile "" en /etc/redis/redis.conf
I, [2024-07-04T13:39:02.902744 #1]  INFO -- : Reemplazando (?-mix:^bind .*$) con  en /etc/redis/redis.conf
I, [2024-07-04T13:39:02.905419 #1]  INFO -- : Reemplazando (?-mix:^dir .*$) con dir /shared/redis_data en /etc/redis/redis.conf
I, [2024-07-04T13:39:02.905957 #1]  INFO -- : Reemplazando (?-mix:^protected-mode yes) con protected-mode no en /etc/redis/redis.conf
I, [2024-07-04T13:39:02.906493 #1]  INFO -- : Reemplazando # io-threads 4 con io-threads $redis_io_threads en /etc/redis/redis.conf
I, [2024-07-04T13:39:02.909850 #1]  INFO -- : > echo redis installed
I, [2024-07-04T13:39:02.974306 #1]  INFO -- : redis installed

I, [2024-07-04T13:39:02.975084 #1]  INFO -- : > cat /etc/redis/redis.conf | grep logfile
I, [2024-07-04T13:39:03.004950 #1]  INFO -- : logfile ""

I, [2024-07-04T13:39:03.005298 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2024-07-04T13:39:03.010638 #1]  INFO -- : > sleep 10
97:C 04 Jul 2024 13:39:03.110 # oO0OoO0OoO0Oo Redis está iniciando oO0OoO0OoO0Oo
97:C 04 Jul 2024 13:39:03.110 # Versión de Redis=7.0.7, bits=64, commit=00000000, modified=0, pid=97, recién iniciado
97:C 04 Jul 2024 13:39:03.110 # Configuración cargada
97:M 04 Jul 2024 13:39:03.111 * reloj monótono: POSIX clock_gettime
97:M 04 Jul 2024 13:39:03.111 * Modo de ejecución=standalone, puerto=6379.
97:M 04 Jul 2024 13:39:03.112 # Servidor inicializado
97:M 04 Jul 2024 13:39:03.112 # ADVERTENCIA ¡Debe habilitarse el overcommit de memoria! Sin ello, una guardado en segundo plano o replicación puede fallar bajo condiciones de baja memoria. Si está deshabilitado, también puede causar fallos sin condiciones de baja memoria, ver https://github.com/jemalloc/jemalloc/issues/1328. Para solucionar este problema, agregue 'vm.overcommit_memory = 1' a /etc/sysctl.conf y luego reinicie o ejecute el comando 'sysctl vm.overcommit_memory=1' para que surta efecto.
97:M 04 Jul 2024 13:39:03.114 * Cargando RDB producido por la versión 7.0.7
97:M 04 Jul 2024 13:39:03.114 * Edad del RDB 99 segundos
97:M 04 Jul 2024 13:39:03.114 * Uso de memoria del RDB al crearse 19.56 Mb
97:M 04 Jul 2024 13:39:03.278 * Finalizada la carga del RDB, claves cargadas: 918, claves expiradas: 7.
97:M 04 Jul 2024 13:39:03.279 * BD cargada desde disco: 0.165 segundos
97:M 04 Jul 2024 13:39:03.279 * Listo para aceptar conexiones
I, [2024-07-04T13:39:13.020261 #1]  INFO -- :
I, [2024-07-04T13:39:13.021592 #1]  INFO -- : > thpoff echo "thpoff está instalado!"
I, [2024-07-04T13:39:13.038723 #1]  INFO -- : thpoff está instalado!

I, [2024-07-04T13:39:13.039801 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_SMTP_ADDRESS"] == "smtp.example.com"; puts "¡Abortando! ¡El correo no está configurado!"; exit 1; end'
I, [2024-07-04T13:39:13.328795 #1]  INFO -- :
I, [2024-07-04T13:39:13.329441 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_HOSTNAME"] == "discourse.example.com"; puts "¡Abortando! ¡El dominio no está configurado!"; exit 1; end'
I, [2024-07-04T13:39:13.723818 #1]  INFO -- :
I, [2024-07-04T13:39:13.724044 #1]  INFO -- : > /usr/local/bin/ruby -e 'if (ENV["DISCOURSE_CDN_URL"] || "")[0..1] == "//"; puts "¡Abortando! El CDN debe tener un protocolo especificado. Una vez corregido, debería rebakear sus publicaciones ahora para corregir todas las publicaciones."; exit 1; end'
I, [2024-07-04T13:39:14.221328 #1]  INFO -- :
I, [2024-07-04T13:39:14.221855 #1]  INFO -- : > rm -f /etc/cron.d/anacron
I, [2024-07-04T13:39:14.226952 #1]  INFO -- :
I, [2024-07-04T13:39:14.232653 #1]  INFO -- : Archivo > /etc/cron.d/anacron  chmod:   chown:
I, [2024-07-04T13:39:14.313293 #1]  INFO -- : Archivo > /etc/runit/1.d/copy-env  chmod: +x  chown:
I, [2024-07-04T13:39:14.325373 #1]  INFO -- : Archivo > /etc/service/unicorn/run  chmod: +x  chown:
I, [2024-07-04T13:39:14.341701 #1]  INFO -- : Archivo > /etc/service/nginx/run  chmod: +x  chown:
I, [2024-07-04T13:39:14.429720 #1]  INFO -- : Archivo > /etc/runit/3.d/01-nginx  chmod: +x  chown:
I, [2024-07-04T13:39:14.442944 #1]  INFO -- : Archivo > /etc/runit/3.d/02-unicorn  chmod: +x  chown:
I, [2024-07-04T13:39:14.443716 #1]  INFO -- : Reemplazando # postgres con if [ -f /root/install_postgres ]; then
  /root/install_postgres
  rm /root/install_postgres
fi
sv start postgres || exit 1
 en /etc/service/unicorn/run
I, [2024-07-04T13:39:14.511433 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git reset --hard
Actualizando archivos: 100% (34508/34508), hecho.
I, [2024-07-04T13:39:31.789206 #1]  INFO -- : HEAD está ahora en 62b1b69e8 UX: restringir el ancho de transcripciones de chat en publicaciones (#27288)

I, [2024-07-04T13:39:31.792178 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git clean -f
I, [2024-07-04T13:39:32.598288 #1]  INFO -- :
I, [2024-07-04T13:39:32.598634 #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
'
Desde https://github.com/discourse/discourse
 - [borrado]             (ninguno)     -> origin/add_filter_webhook_events_by_status
 - [borrado]             (ninguno)     -> origin/add_lifecycle_rule_for_inventories
 - [borrado]             (ninguno)     -> origin/application-route-actions
 - [borrado]             (ninguno)     -> origin/avoid_unformatted_logs
 - [borrado]             (ninguno)     -> origin/categories-modal-fix
 - [borrado]             (ninguno)     -> origin/decorator-transforms-take-2
 - [borrado]             (ninguno)     -> origin/dependabot/bundler/rails_failover-2.1.0
 - [borrado]             (ninguno)     -> origin/dependabot/bundler/sqlite3-2.0.2
 - [borrado]             (ninguno)     -> origin/dev/ember-58-upgrade-playground
 - [borrado]             (ninguno)     -> origin/dev/rfc-value-modifier-plugin-api
 - [borrado]             (ninguno)     -> origin/dev/standalone-home-logo-contents-component
 - [borrado]             (ninguno)     -> origin/discourse-route-actions
 - [borrado]             (ninguno)     -> origin/discourse-url-native-class
 - [borrado]             (ninguno)     -> origin/feature/user-fields-required-for-existing-users-2
 - [borrado]             (ninguno)     -> origin/fix-bbcode-parser
 - [borrado]             (ninguno)     -> origin/fix-group-chat-member-count
 - [borrado]             (ninguno)     -> origin/ghost-button
 - [borrado]             (ninguno)     -> origin/issue/bulk-action-pm-fixes
 - [borrado]             (ninguno)     -> origin/loic-update-to-rails-7.1
 - [borrado]             (ninguno)     -> origin/migrations-tooling/converter
 - [borrado]             (ninguno)     -> origin/permalinks
 - [borrado]             (ninguno)     -> origin/remove-disable-sidebar
 - [borrado]             (ninguno)     -> origin/route-native-class
 - [borrado]             (ninguno)     -> origin/search-result-consistency
 - [borrado]             (ninguno)     -> origin/support_alternate_bucket_s3_inventory
 - [borrado]             (ninguno)     -> origin/update-official-plugin-list
 - [borrado]             (ninguno)     -> origin/user-posts-stream-native-class
 - [borrado]             (ninguno)     -> origin/ux-account-disclaimer
 - [borrado]             (ninguno)     -> origin/with-ancestor-ids
   62b1b69e8..0d608ceff  main                    -> origin/main
 * [nueva rama]          0-a-fix-high            -> origin/0-a-fix-high
 * [nueva rama]          add_mechanism_to_redeliver_all_webhook_events -> origin/add_mechanism_to_redeliver_all_webhook_events
 * [nueva rama]          add_mechanism_to_redeliver_all_webhook_events_wip -> origin/add_mechanism_to_redeliver_all_webhook_events_wip
 * [nueva rama]          better_logs             -> origin/better_logs
 * [nueva rama]          chat-empty-state        -> origin/chat-empty-state
 * [nueva rama]          chat-mobile-menu        -> origin/chat-mobile-menu
 + 098e99e83...bfdeae4f4 coco/generic-importer   -> origin/coco/generic-importer  (actualización forzada)
 * [nueva rama]          dependabot/bundler/libv8-node-21.7.2.0 -> origin/dependabot/bundler/libv8-node-21.7.2.0
 * [nueva rama]          dependabot/bundler/oauth2-2.0.9 -> origin/dependabot/bundler/oauth2-2.0.9
 * [nueva rama]          dependabot/bundler/omniauth-2.1.2 -> origin/dependabot/bundler/omniauth-2.1.2
 * [nueva rama]          dependabot/bundler/omniauth-google-oauth2-1.1.2 -> origin/dependabot/bundler/omniauth-google-oauth2-1.1.2
 * [nueva rama]          detect-default-readonly -> origin/detect-default-readonly
 * [nueva rama]          dev-can-ignore-users    -> origin/dev-can-ignore-users
 * [nueva rama]          dev/add-behavior-transformers -> origin/dev/add-behavior-transformers
 * [nueva rama]          dev/ember-source-5.9.0-upgrade -> origin/dev/ember-source-5.9.0-upgrade
 * [nueva rama]          dev/untangle-admin-sidebar -> origin/dev/untangle-admin-sidebar
 * [nueva rama]          feature/absolute-number-in-poll -> origin/feature/absolute-number-in-poll
 * [nueva rama]          feature/private-github-onebox -> origin/feature/private-github-onebox
 * [nueva rama]          fix-ensure-post-and-topic-user-id-is-always-set -> origin/fix-ensure-post-and-topic-user-id-is-always-set
 * [nueva rama]          fix-password-reset-security-key -> origin/fix-password-reset-security-key
 * [nueva rama]          fix-unread-notifications-take-2 -> origin/fix-unread-notifications-take-2
 * [nueva rama]          fix/table-break-line    -> origin/fix/table-break-line
   b3d6801e8..2902da16e  formtoolkit             -> origin/formtoolkit
 * [nueva rama]          grant-admin-fetch-user  -> origin/grant-admin-fetch-user
 * [nueva rama]          issue/do-not-enforce-2fa-on-social-logins -> origin/issue/do-not-enforce-2fa-on-social-logins
 * [nueva rama]          issue/fix-user-field-enum-migrate -> origin/issue/fix-user-field-enum-migrate
 * [nueva rama]          issue/prevent-decimal-comma-integer-input-site-setting -> origin/issue/prevent-decimal-comma-integer-input-site-setting
 * [nueva rama]          jjaffeux-otp-validation -> origin/jjaffeux-otp-validation
 * [nueva rama]          loic-use-messageformat-gem -> origin/loic-use-messageformat-gem
 * [nueva rama]          mt/converter            -> origin/mt/converter
 * [nueva rama]          mt/uploads-command      -> origin/mt/uploads-command
 * [nueva rama]          prevent-header-cls      -> origin/prevent-header-cls
 * [nueva rama]          rails_7_1_upgrade       -> origin/rails_7_1_upgrade
 * [nueva rama]          show-primary-user-group-options-to-members -> origin/show-primary-user-group-options-to-members
   5558028f8..473248381  stable                  -> origin/stable
 * [nueva rama]          tag-span                -> origin/tag-span
   62b1b69e8..0d608ceff  tests-passed            -> origin/tests-passed
 t [actualización de etiqueta]          beta                    -> beta
 t [actualización de etiqueta]          latest-release          -> latest-release
 * [nueva etiqueta]             v3.2.3                  -> v3.2.3
 * [nueva etiqueta]             v3.3.0.beta3            -> v3.3.0.beta3
I, [2024-07-04T13:39:34.299514 #1]  INFO -- :
I, [2024-07-04T13:39:34.299788 #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, [2024-07-04T13:39:41.631661 #1]  INFO -- : Rama 'tests-passed' configurada para rastrear la rama remota 'tests-passed' de 'origin'.

I, [2024-07-04T13:39:41.632287 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git config user.discourse-version tests-passed
I, [2024-07-04T13:39:41.649903 #1]  INFO -- :
I, [2024-07-04T13:39:41.650148 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp
I, [2024-07-04T13:39:41.721358 #1]  INFO -- :
I, [2024-07-04T13:39:41.722593 #1]  INFO -- : > cd /var/www/discourse && chown discourse:www-data tmp
I, [2024-07-04T13:39:41.727871 #1]  INFO -- :
I, [2024-07-04T13:39:41.729003 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/pids
I, [2024-07-04T13:39:41.735635 #1]  INFO -- :
I, [2024-07-04T13:39:41.736747 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/sockets
I, [2024-07-04T13:39:41.742509 #1]  INFO -- :
I, [2024-07-04T13:39:41.743294 #1]  INFO -- : > cd /var/www/discourse && touch tmp/.gitkeep
I, [2024-07-04T13:39:41.749797 #1]  INFO -- :
I, [2024-07-04T13:39:41.750489 #1]  INFO -- : > cd /var/www/discourse && mkdir -p                    /shared/log/rails
I, [2024-07-04T13:39:41.821571 #1]  INFO -- :
I, [2024-07-04T13:39:41.822485 #1]  INFO -- : > cd /var/www/discourse && bash -c "touch -a           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log"
I, [2024-07-04T13:39:41.832200 #1]  INFO -- :
I, [2024-07-04T13:39:41.832830 #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, [2024-07-04T13:39:41.840532 #1]  INFO -- :
I, [2024-07-04T13:39:41.841216 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/{uploads,backups}"
I, [2024-07-04T13:39:41.851218 #1]  INFO -- :
I, [2024-07-04T13:39:41.851816 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/{uploads,backups} /var/www/discourse/public"
I, [2024-07-04T13:39:41.925157 #1]  INFO -- :
I, [2024-07-04T13:39:41.925801 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/tmp/{backups,restores}"
I, [2024-07-04T13:39:41.935066 #1]  INFO -- :
I, [2024-07-04T13:39:41.935779 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/tmp/{backups,restores} /var/www/discourse/tmp"
I, [2024-07-04T13:39:41.943863 #1]  INFO -- :
I, [2024-07-04T13:39:41.944656 #1]  INFO -- : > cd /var/www/discourse && chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp
I, [2024-07-04T13:39:42.227885 #1]  INFO -- :
I, [2024-07-04T13:39:42.228719 #1]  INFO -- : > cd /var/www/discourse && [ ! -d public/plugins ] || find public/plugins/ -maxdepth 1 -xtype l -delete
I, [2024-07-04T13:39:42.231616 #1]  INFO -- :
I, [2024-07-04T13:39:42.232299 #1]  INFO -- : Reemplazando # redis con sv start redis || exit 1 en /etc/service/unicorn/run
I, [2024-07-04T13:39:42.233701 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/docker_manager.git
Clonando en 'docker_manager'...
I, [2024-07-04T13:39:44.732799 #1]  INFO -- :
I, [2024-07-04T13:39:44.734253 #1]  INFO -- : > cp /var/www/discourse/config/nginx.sample.conf /etc/nginx/conf.d/discourse.conf
I, [2024-07-04T13:39:44.744794 #1]  INFO -- :
I, [2024-07-04T13:39:44.745634 #1]  INFO -- : > rm /etc/nginx/sites-enabled/default
I, [2024-07-04T13:39:44.830767 #1]  INFO -- :
I, [2024-07-04T13:39:44.831520 #1]  INFO -- : > mkdir -p /var/nginx/cache
I, [2024-07-04T13:39:44.834670 #1]  INFO -- :
I, [2024-07-04T13:39:44.838515 #1]  INFO -- : Reemplazando pid /run/nginx.pid; con daemon off; en /etc/nginx/nginx.conf
I, [2024-07-04T13:39:44.840309 #1]  INFO -- : Reemplazando (?m-ix:upstream[^\}]+\}) con upstream discourse { server 127.0.0.1:3000; } en /etc/nginx/conf.d/discourse.conf
I, [2024-07-04T13:39:44.841050 #1]  INFO -- : Reemplazando (?-mix:server_name.+$) con server_name _ ; en /etc/nginx/conf.d/discourse.conf
I, [2024-07-04T13:39:44.841683 #1]  INFO -- : Reemplazando (?-mix:client_max_body_size.+$) con client_max_body_size $upload_size ; en /etc/nginx/conf.d/discourse.conf
I, [2024-07-04T13:39:44.842894 #1]  INFO -- : Reemplazando (?-mix:worker_connections.+$) con worker_connections $nginx_worker_connections ; en /etc/nginx/nginx.conf
I, [2024-07-04T13:39:44.931340 #1]  INFO -- : > echo "done configuring web"
I, [2024-07-04T13:39:44.935430 #1]  INFO -- : done configuring web

I, [2024-07-04T13:39:44.936120 #1]  INFO -- : > cd /var/www/discourse && gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,""); print $0 }' Gemfile.lock)
I, [2024-07-04T13:39:45.835727 #1]  INFO -- :
I, [2024-07-04T13:39:45.836034 #1]  INFO -- : > cd /var/www/discourse && find /var/www/discourse ! -user discourse -exec chown discourse {} \+
I, [2024-07-04T13:40:03.434005 #1]  INFO -- :
I, [2024-07-04T13:40:03.434989 #1]  INFO -- : > cd /var/www/discourse && if [ "tests-passed" != "tests-passed" ]; then
  rm -rf app/assets/javascripts/node_modules
fi
I, [2024-07-04T13:40:03.442966 #1]  INFO -- :
I, [2024-07-04T13:40:03.443147 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'yarn install --frozen-lockfile && yarn cache clean'
warning El campo de resolución "unset-value@2.0.1" es incompatible con la versión solicitada "unset-value@^1.0.0"
error Error: https://registry.yarnpkg.com/date-fns/-/date-fns-2.30.0.tgz: ESOCKETTIMEDOUT
    en ClientRequest.<anónimo> (/usr/share/yarn/lib/cli.js:142037:19)
    en Object.onceWrapper (node:events:631:28)
    en ClientRequest.emit (node:events:517:28)
    en TLSSocket.emitRequestTimeout (node:_http_client:847:9)
    en Object.onceWrapper (node:events:631:28)
    en TLSSocket.emit (node:events:529:35)
    en Socket._onTimeout (node:net:598:8)
    en listOnTimeout (node:internal/timers:569:17)
    en process.processTimers (node:internal/timers:512:7)
I, [2024-07-04T13:44:53.619485 #1]  INFO -- : yarn install v1.22.22
[1/5] Validando package.json...
[2/5] Resolviendo paquetes...
[3/5] Obteniendo paquetes...
info Parece haber problemas con su conexión de red. Reintentando...
info Parece haber problemas con su conexión de red. Reintentando...
info Parece haber problemas con su conexión de red. Reintentando...
info Parece haber problemas con su conexión de red. Reintentando...
info Parece haber problemas con su conexión de red. Reintentando...
info Visite https://yarnpkg.com/en/docs/cli/install para documentación sobre este comando.

I, [2024-07-04T13:44:53.623961 #1]  INFO -- : Terminando procesos asíncronos
I, [2024-07-04T13:44:53.624457 #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: 35
I, [2024-07-04T13:44:53.624901 #1]  INFO -- : Enviando TERM a exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 97
2024-07-04 13:44:53.625 UTC [35] LOG:  recibida solicitud de apagado rápido
97:signal-handler (1720100693) Recibido SIGTERM programando apagado...
2024-07-04 13:44:53.632 UTC [35] LOG:  abortando cualquier transacción activa
2024-07-04 13:44:53.642 UTC [35] LOG:  el trabajador de fondo "logical replication launcher" (PID 50) salió con código de salida 1
97:M 04 Jul 2024 13:44:53.644 # El usuario solicitó apagado...
97:M 04 Jul 2024 13:44:53.644 * Guardando la instantánea RDB final antes de salir.
2024-07-04 13:44:53.650 UTC [45] LOG:  apagando
2024-07-04 13:44:53.747 UTC [35] LOG:  el sistema de bases de datos se ha apagado
97:M 04 Jul 2024 13:44:53.932 * BD guardada en disco
97:M 04 Jul 2024 13:44:53.932 # Redis está listo para salir, adiós...


FALLIDO
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'yarn install --frozen-lockfile && yarn cache clean' falló con retorno #<Process::Status: pid 268 exit 1>
Ubicación del fallo: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec falló con los parámetros {"cd"=>"$home", "hook"=>"yarn", "cmd"=>["if [ \"$version\" != \"tests-passed\" ]; then\n  rm -rf app/assets/javascripts/node_modules\nfi", "su discourse -c 'yarn install --frozen-lockfile && yarn cache clean'"]}
bootstrap falló con código de salida 1
** FALLÓ EL BOOTSTRAP ** desplácese hacia arriba y busque mensajes de error anteriores, puede haber más de uno.
./discourse-doctor puede ayudar a diagnosticar el problema.
0ad323769e87ce77787965163c1889999c044d6dce2cb925cf43f92475148a14
root@vmi1695712:/var/discourse# ^C

y

sugieren que su VM podría estar experimentando problemas de conectividad. Podría ser transitorio. ¿Qué sucede si vuelve a ejecutar ./launcher rebuild app?

La reconstrucción ha vuelto a fallar. Mismos errores.

Es extraño porque estoy ejecutando WordPress, Nginx proxy manager y Portainer en el mismo servidor, y todo funciona.

No es extraño porque ninguno de esos servicios tiene nada que ver con discourse.

Necesitarás proporcionar un registro completo de la compilación fallida y más información sobre tu configuración para obtener más ayuda aquí.

De acuerdo, no hay problema.

¿A qué registro te refieres? ¿Cómo lo obtengo?

¿Qué otra información necesitas?

Por cierto, gracias por tu ayuda. Estoy realmente perdido ahora mismo.

Usa ./discourse-doctor, generará un archivo que puedes compartir.

Segundo, si pudieras compartir un app.yml redactado, yo o alguien aquí podríamos ver si hay problemas obvios como plugins incompatibles, etc.

Se ha producido un error en mi actualización

api_key = "a quick brown fox"
fetch("https://api.example.com/data", headers: { 'Authorization' => api_key })

Por favor, ayúdame a solucionarlo.Parece que hay problemas con su conexión de red. Reintentando…
info Parece que hay problemas con su conexión de red. Reintentando…
info Parece que hay problemas con su conexión de red. Reintentando…
info Parece que hay problemas con su conexión de red. Reintentando…
info Parece que hay problemas con su conexión de red. Reintentando…
info Visite yarn install | Yarn para ver la documentación sobre este comando.

98:signal-handler (1720109872) Se recibió SIGTERM, programando apagado…
98:M 04 Jul 2024 16:17:52.663 # El usuario solicitó el apagado…
98:M 04 Jul 2024 16:17:52.663 * Guardando la instantánea RDB final antes de salir.
I, [2024-07-04T16:17:52.653347 #1] INFO – : Terminando procesos asíncronos
I, [2024-07-04T16:17:52.653701 #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: 36
I, [2024-07-04T16:17:52.653954 #1] INFO – : Enviando TERM a exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.c onf pid: 98
2024-07-04 16:17:52.657 UTC [36] LOG: se recibió solicitud de apagado rápido
2024-07-04 16:17:52.664 UTC [36] LOG: abortando transacciones activas
2024-07-04 16:17:52.743 UTC [36] LOG: el trabajador en segundo plano “logical replication launcher” (PID 51) salió con código de salida 1
2024-07-04 16:17:52.744 UTC [46] LOG: apagando
2024-07-04 16:17:52.860 UTC [36] LOG: el sistema de base de datos está apagado
98:M 04 Jul 2024 16:17:53.048 * BD guardada en disco
98:M 04 Jul 2024 16:17:53.049 # Redis está listo para salir, adiós…

FALLIDO

Pups::ExecError: cd /var/www/discourse && su discourse -c ‘yarn install --frozen-lockfile && yarn cache clean’ falló con retorno # <Process::Status: pid 268 exit 1>
Ubicación del fallo: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn’
exec falló con los parámetros {“cd”=>“$home”, “hook”=>“yarn”, “cmd”=>[“if [ "$version" != "tests-passed" ]; then\n rm -rf app/as sets/javascripts/node_modules\nfi”, “su discourse -c ‘yarn install --frozen-lockfile && yarn cache clean’”]}
bootstrap falló con código de salida 1
** FALLO EN BOOTSTRAP ** desplácese hacia arriba y busque mensajes de error anteriores, puede haber más de uno.
./discourse-doctor puede ayudar a diagnosticar el problema.
28e72690ac1f17e0226b0c7546f1e9d9f299131572ed4deacc95bc109166e028
==================== FIN DEL REGISTRO DE RECONSTRUCCIÓN ====================
Error al reconstruir la aplicación.

Verificando su nombre de dominio . . .

La conexión a **************** fue exitosa.
Probablemente debería 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
    app
    ce55082edacf local_discourse/app “/sbin/boot” 4 semanas atrás Activo desde hace menos de un segundo app
    Contenedor reiniciado.

==================== PLUGINS ====================
- git clone GitHub - discourse/docker_manager: Plugin for use with discourse docker image · GitHub

No se detectaron plugins no oficiales.

Consulte discourse/lib/plugin/metadata.rb at main · discourse/discourse · GitHub para la lista oficial.

========================================
Versión de Discourse en ***************: NO ENCONTRADA
Versión de Discourse en localhost: NO ENCONTRADA

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

           total        usado        libre      compartido  buff/cache   disponible

Mem: 5921 1978 2453 166 1489 3474
Swap: 0 0 0

==================== VERIFICACIÓN DE ESPACIO EN DISCO ====================
---------- Espacio en disco del SO ----------
Sistema de archivos Tamaño Usado Disponible Uso% Montado en
/dev/sda3 391G 23G 349G 7% /

==================== INFORMACIÓN DE DISCO ====================
Disco /dev/sda: 400 GiB, 429496729600 bytes, 838860800 sectores
Modelo de disco: QEMU HARDDISK
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: 1B86FC4E-2370-48E1-8752-0E932DA55E09

Dispositivo Inicio Fin Sectores Tipo Tamaño
/dev/sda1 2048 4095 2048 1M BIOS boot
/dev/sda2 4096 4194303 4190208 2G Sistema de archivos Linux
/dev/sda3 4194304 838858751 834664448 398G Sistema de archivos Linux

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

==================== PRUEBA DE CORREO ====================
Para una prueba robusta, obtenga una dirección en http://www.mail-tester.com/
O simplemente envíe un mensaje de prueba a usted mismo.
¿Dirección de correo electrónico para la prueba de correo? (‘n’ para omitir) [*****]:
Enviando correo a . . .
Probando envío a ********************** usando email-smtp.us-east-1.amazonaws.com:587, usuario:
con autenticación plana .
Conexión al servidor SMTP exitosa.
Enviando a . . .
Correo aceptado por el servidor SMTP.
Message-ID: 2bddc993-deed-4fbc-905e-bc692afc97d8@
.com

Si no recibe el mensaje, verifique su carpeta de SPAM
o pruebe nuevamente usando un servicio como http://www.mail-tester.com/.

Si el mensaje no se entrega, no es un problema de Discourse.
Verifique los registros del servidor SMTP para el ID de mensaje anterior para ver por qué
falló la entrega del mensaje.
Reemplazando: SMTP_PASSWORD
Reemplazando: LETSENCRYPT_ACCOUNT_EMAIL
Reemplazando: DEVELOPER_EMAILS
Reemplazando: DISCOURSE_DB_PASSWORD
Reemplazando: Enviando correo a

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


app.yml

esta es la plantilla de contenedor Docker todo-en-uno, independiente de Discourse

Después de realizar cambios en este archivo, DEBE reconstruir

/var/discourse/launcher rebuild app

¡SEA MUY CUIDADOSO AL EDITAR!

¡LOS ARCHIVOS YAML SON SUPER SUPER SENSIBLES A ERRORES EN ESPACIOS EN BLANCO O ALINEACIÓN!

visite http://www.yamllint.com/ para validar este archivo según sea necesario

plantillas:

  • “templates/postgres.template.yml”
  • “templates/redis.template.yml”
  • “templates/web.template.yml”

Descomente la siguiente línea para habilitar el escucha IPv6

#- “templates/web.ipv6.template.yml”

  • “templates/web.ratelimited.template.yml”

Descomente estas dos líneas si desea agregar Lets Encrypt (https)

#- “templates/web.ssl.template.yml”
#- “templates/web.letsencrypt.ssl.template.yml”
#- “templates/web.socketed.template.yml”

¿qué puertos TCP/IP debería exponer este contenedor?

Si desea que Discourse comparta un puerto con otro servidor web como Apache o nginx,

consulte Run other websites on the same machine as Discourse para más detalles

exponer:

- “80:80” # http

- “443:443” # https

parámetros:
db_default_text_search_config: “pg_catalog.english”

Establezca db_shared_buffers a un máximo del 25% de la memoria total.

se establecerá automáticamente durante el bootstrap basado en la RAM detectada, o puede anularlo

#db_shared_buffers: “256MB”

puede mejorar el rendimiento de ordenación, pero añade uso de memoria por conexión

#db_work_mem: “40MB”

¿Qué revisión de Git debería usar este contenedor? (predeterminado: tests-passed)

#version: tests-passed

entorno:
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
LANGUAGE: en_US.UTF-8

DISCOURSE_DEFAULT_LOCALE: en

¿Cuántas solicitudes web concurrentes se admiten? Depende de la memoria y los núcleos de CPU.

se establecerá automáticamente durante el bootstrap basado en las CPUs detectadas, o puede anularlo

#UNICORN_WORKERS: 3

TODO: El nombre de dominio al que responderá esta instancia de Discourse

Obligatorio. Discourse no funcionará con una dirección IP sin formato.

DISCOURSE_HOSTNAME: ‘**************’

Descomente si desea que el contenedor se inicie con el mismo

nombre de host (opción -h) que se especificó arriba (predeterminado “$hostname-$config”)

#DOCKER_USE_HOSTNAME: true

TODO: Lista de correos electrónicos delimitados por comas que serán administradores y desarrolladores

en el registro inicial, ejemplo ‘user1@example.com,user2@example.com’

DISCOURSE_DEVELOPER_EMAILS: ‘*****************, ******************’

TODO: El servidor de correo SMTP utilizado para validar nuevas cuentas y enviar notificaciones

La dirección, el nombre de usuario y la contraseña SMTP son obligatorios

ADVERTENCIA: el carácter ‘#’ en la contraseña SMTP puede causar problemas.

DISCOURSE_SMTP_ADDRESS: email-smtp.us-east-1.amazonaws.com
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: *********************
DISCOURSE_SMTP_PASSWORD: *****************************************
DISCOURSE_SMTP_ENABLE_START_TLS: true # (opcional, predeterminado true)
#DISCOURSE_SMTP_DOMAIN: ******************* # (requerido por algunos proveedores)
DISCOURSE_NOTIFICATION_EMAIL: ********************* # (dirección desde la cual enviar notificaciones)

Si agregó la plantilla de Lets Encrypt, descomente abajo para obtener un certificado SSL gratuito

#LETSENCRYPT_ACCOUNT_EMAIL: me@example.com

La dirección CDN http o https para esta instancia de Discourse (configurada para extraer)

consulte Enable a CDN for your Discourse para más detalles

#DISCOURSE_CDN_URL: https://discourse-cdn.example.com

La clave de dirección IP de geolocalización maxmind para búsqueda de dirección IP

consulte Upgrade / Rebuilds Fail due to MaxMind DB EOL - #23 by sam para más detalles

#DISCOURSE_MAXMIND_LICENSE_KEY: 1234567890123456

El contenedor Docker es sin estado; todos los datos se almacenan en /shared

volúmenes:

  • volumen:
    host: /var/discourse/shared/standalone
    invitado: /shared
  • volumen:
    host: /var/discourse/shared/standalone/log/var-log
    invitado: /var/log

Los plugins van aquí

consulte Install plugins on a self-hosted site para más detalles

ganchos:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone GitHub - discourse/docker_manager: Plugin for use with discourse docker image · GitHub

Cualquier comando personalizado para ejecutar después de la compilación

ejecutar:

  • exec: echo “Inicio de comandos personalizados”

Si desea establecer la dirección de correo electrónico ‘De’ para su primer registro, descomente y cambie:

Después de recibir el correo electrónico de registro inicial, vuelva a comentar la línea. Solo necesita ejecutarse una vez.

#- exec: rails r “SiteSetting.notification_email=‘***************’”

  • exec: echo “Fin de comandos personalizados”

argumentos_docker: |
–network nginx_proxy_manager_default

Actualización: En el décimo intento, pude reconstruir.

No sé si tuvo algún efecto, pero actualicé el motor de Docker a la última versión.

Sin embargo, aunque el contenedor está en funcionamiento, no puedo acceder a la página. Me sigue diciendo que la dirección IP del servidor no está disponible.

También he intentado acceder al sitio desde otra red en otro dispositivo, pero sin éxito.

Como mencioné, en el mismo VPS, ejecuto WordPress en el dominio principal y todo funciona bien. No entiendo cómo Discord pudo dejar de funcionar tan de repente.

¿Alguna idea? Estoy desesperado.

Problema resuelto.

Por razones que no entiendo, el acceso al sitio dejó de funcionar aproximadamente 24 horas después de que agregué un registro TXT al DNS.

Intenté agregar un registro A con la IP del servidor en formato forum.domain.com y, después de un tiempo, volvió a funcionar. Anteriormente, la redirección a un subdominio con *.domain.com funcionaba.

Es cierto que esto es un misterio para mí, pero lo principal es que ahora funciona :grinning: