Discourse ha smesso di funzionare all'improvviso

Ciao,

Il mio Discourse ha smesso di funzionare all’improvviso.

Stavo modificando alcuni post stamattina, ma circa due ore fa il Discourse è scomparso. In altre parole, non è più accessibile.

Ieri, ho aggiunto un record TXT al DNS per verificare ciò che richiede Google Search Console. Questo non dovrebbe aver avuto alcun effetto. Non ho cambiato nient’altro!

Nemmeno ho apportato modifiche al mio NGINX Proxy Manager.

Ho provato a ricostruire l’applicazione, ma senza successo. Il log si trova alla fine di questo testo.

Potresti consigliarmi su come risolvere questo problema? Non so cosa fare. Grazie.


root@vmi1695712:/var/discourse# ./launcher rebuild app
x86_64 arch detected.
Ensuring launcher is up to date
Fetching origin
Launcher is up-to-date
Stopping old container
+ /usr/bin/docker stop -t 600 app
app
2.0.20240602-0023: Pulling from discourse/base
Digest: sha256:5e0c30da851a00e824a58b033d59b8f3dd840b513a7694a7a5d0674285c0ee3c
Status: Image is up to date for 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 -- : Reading from stdin
I, [2024-07-04T13:38:50.560922 #1]  INFO -- : File > /etc/service/postgres/run  chmod: +x  chown:
I, [2024-07-04T13:38:50.569920 #1]  INFO -- : File > /etc/service/postgres/log/run  chmod: +x  chown:
I, [2024-07-04T13:38:50.639464 #1]  INFO -- : File > /etc/runit/3.d/99-postgres  chmod: +x  chown:
I, [2024-07-04T13:38:50.647493 #1]  INFO -- : File > /root/install_postgres  chmod: +x  chown:
I, [2024-07-04T13:38:50.657009 #1]  INFO -- : File > /root/upgrade_postgres  chmod: +x  chown:
I, [2024-07-04T13:38:50.662175 #1]  INFO -- : Replacing data_directory = '/var/lib/postgresql/13/main' with data_directory = '/shared/postgres_data' in /etc/postgresql/13/main/postgresql.conf
I, [2024-07-04T13:38:50.663544 #1]  INFO -- : Replacing (?-mix:#?listen_addresses *=.*) with listen_addresses = '*' in /etc/postgresql/13/main/postgresql.conf
I, [2024-07-04T13:38:50.663970 #1]  INFO -- : Replacing (?-mix:#?synchronous_commit *=.*) with synchronous_commit = $db_synchronous_commit in /etc/postgresql/13/main/postgresql.conf
I, [2024-07-04T13:38:50.664802 #1]  INFO -- : Replacing (?-mix:#?shared_buffers *=.*) with shared_buffers = $db_shared_buffers in /etc/postgresql/13/main/postgresql.conf
I, [2024-07-04T13:38:50.665410 #1]  INFO -- : Replacing (?-mix:#?work_mem *=.*) with work_mem = $db_work_mem in /etc/postgresql/13/main/postgresql.conf
I, [2024-07-04T13:38:50.665995 #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, [2024-07-04T13:38:50.666444 #1]  INFO -- : Replacing (?-mix:#?checkpoint_segments *=.*) with checkpoint_segments = $db_checkpoint_segments in /etc/postgresql/13/main/postgresql.conf
I, [2024-07-04T13:38:50.667277 #1]  INFO -- : Replacing (?-mix:#?logging_collector *=.*) with logging_collector = $db_logging_collector in /etc/postgresql/13/main/postgresql.conf
I, [2024-07-04T13:38:50.667726 #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, [2024-07-04T13:38:50.669744 #1]  INFO -- : Replacing (?-mix:^#local +replication +postgres +peer$) with local replication postgres  peer in /etc/postgresql/13/main/pg_hba.conf
I, [2024-07-04T13:38:50.670470 #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, [2024-07-04T13:38:50.734826 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*::1\/128.*$) with host all all ::/0 md5 in /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 -- : Generating locales (this might take a while)...
Generation complete.

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 -- : File > /usr/local/bin/create_db  chmod: +x  chown:
I, [2024-07-04T13:38:55.060731 #1]  INFO -- : File > /var/lib/postgresql/take-database-backup  chmod: +x  chown: postgres:postgres
I, [2024-07-04T13:38:55.147051 #1]  INFO -- : File > /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:  starting PostgreSQL 13.15 (Debian 13.15-1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
2024-07-04 13:38:55.453 UTC [35] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2024-07-04 13:38:55.453 UTC [35] LOG:  listening on IPv6 address "::", port 5432
2024-07-04 13:38:55.462 UTC [35] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2024-07-04 13:38:55.554 UTC [44] LOG:  database system was shut down at 2024-07-04 13:37:27 UTC
2024-07-04 13:38:55.649 UTC [35] LOG:  database system is ready to accept connections
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:  database "discourse" already exists
2024-07-04 13:39:00.363 UTC [54] postgres@postgres STATEMENT:  CREATE DATABASE discourse;
createdb: error: database creation failed: ERROR:  database "discourse" already exists
2024-07-04 13:39:00.500 UTC [57] postgres@discourse ERROR:  role "discourse" already exists
2024-07-04 13:39:00.500 UTC [57] postgres@discourse STATEMENT:  create user discourse;
ERROR:  role "discourse" already exists
NOTICE:  extension "hstore" already exists, skipping
NOTICE:  extension "pg_trgm" already exists, skipping
NOTICE:  extension "vector" already exists, skipping
NOTICE:  extension "hstore" already exists, skipping
NOTICE:  extension "pg_trgm" already exists, skipping
NOTICE:  extension "vector" already exists, skipping
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 -- : File > /etc/service/redis/run  chmod: +x  chown:
I, [2024-07-04T13:39:02.797663 #1]  INFO -- : File > /etc/service/redis/log/run  chmod: +x  chown:
I, [2024-07-04T13:39:02.825472 #1]  INFO -- : File > /etc/runit/3.d/10-redis  chmod: +x  chown:
I, [2024-07-04T13:39:02.873773 #1]  INFO -- : Replacing daemonize yes with  in /etc/redis/redis.conf
I, [2024-07-04T13:39:02.875722 #1]  INFO -- : Replacing (?-mix:^pidfile.*$) with  in /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 -- : Replacing (?-mix:^logfile.*$) with logfile "" in /etc/redis/redis.conf
I, [2024-07-04T13:39:02.902744 #1]  INFO -- : Replacing (?-mix:^bind .*$) with  in /etc/redis/redis.conf
I, [2024-07-04T13:39:02.905419 #1]  INFO -- : Replacing (?-mix:^dir .*$) with dir /shared/redis_data in /etc/redis/redis.conf
I, [2024-07-04T13:39:02.905957 #1]  INFO -- : Replacing (?-mix:^protected-mode yes) with protected-mode no in /etc/redis/redis.conf
I, [2024-07-04T13:39:02.906493 #1]  INFO -- : Replacing # io-threads 4 with io-threads $redis_io_threads in /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 is starting oO0OoO0OoO0Oo
97:C 04 Jul 2024 13:39:03.110 # Redis version=7.0.7, bits=64, commit=00000000, modified=0, pid=97, just started
97:C 04 Jul 2024 13:39:03.110 # Configuration loaded
97:M 04 Jul 2024 13:39:03.111 * monotonic clock: POSIX clock_gettime
97:M 04 Jul 2024 13:39:03.111 * Running mode=standalone, port=6379.
97:M 04 Jul 2024 13:39:03.112 # Server initialized
97:M 04 Jul 2024 13:39:03.112 # 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.
97:M 04 Jul 2024 13:39:03.114 * Loading RDB produced by version 7.0.7
97:M 04 Jul 2024 13:39:03.114 * RDB age 99 seconds
97:M 04 Jul 2024 13:39:03.114 * RDB memory usage when created 19.56 Mb
97:M 04 Jul 2024 13:39:03.278 * Done loading RDB, keys loaded: 918, keys expired: 7.
97:M 04 Jul 2024 13:39:03.279 * DB loaded from disk: 0.165 seconds
97:M 04 Jul 2024 13:39:03.279 * Ready to accept connections
I, [2024-07-04T13:39:13.020261 #1]  INFO -- :
I, [2024-07-04T13:39:13.021592 #1]  INFO -- : > thpoff echo "thpoff is installed!"
I, [2024-07-04T13:39:13.038723 #1]  INFO -- : thpoff is installed!

I, [2024-07-04T13:39:13.039801 #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, [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 "Aborting! Domain is not configured!"; 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 "Aborting! CDN must have a protocol specified. Once fixed you should rebake your posts now to correct all posts."; 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 -- : File > /etc/cron.d/anacron  chmod:   chown:
I, [2024-07-04T13:39:14.313293 #1]  INFO -- : File > /etc/runit/1.d/copy-env  chmod: +x  chown:
I, [2024-07-04T13:39:14.325373 #1]  INFO -- : File > /etc/service/unicorn/run  chmod: +x  chown:
I, [2024-07-04T13:39:14.341701 #1]  INFO -- : File > /etc/service/nginx/run  chmod: +x  chown:
I, [2024-07-04T13:39:14.429720 #1]  INFO -- : File > /etc/runit/3.d/01-nginx  chmod: +x  chown:
I, [2024-07-04T13:39:14.442944 #1]  INFO -- : File > /etc/runit/3.d/02-unicorn  chmod: +x  chown:
I, [2024-07-04T13:39:14.443716 #1]  INFO -- : Replacing # postgres with if [ -f /root/install_postgres ]; then
  /root/install_postgres
  rm /root/install_postgres
fi
sv start postgres || exit 1
 in /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
Updating files: 100% (34508/34508), done.
I, [2024-07-04T13:39:31.789206 #1]  INFO -- : HEAD is now at 62b1b69e8 UX: constrain width of chat transcripts in posts (#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
'
From https://github.com/discourse/discourse
 - [deleted]             (none)     -> origin/add_filter_webhook_events_by_status
 - [deleted]             (none)     -> origin/add_lifecycle_rule_for_inventories
 - [deleted]             (none)     -> origin/application-route-actions
 - [deleted]             (none)     -> origin/avoid_unformatted_logs
 - [deleted]             (none)     -> origin/categories-modal-fix
 - [deleted]             (none)     -> origin/decorator-transforms-take-2
 - [deleted]             (none)     -> origin/dependabot/bundler/rails_failover-2.1.0
 - [deleted]             (none)     -> origin/dependabot/bundler/sqlite3-2.0.2
 - [deleted]             (none)     -> origin/dev/ember-58-upgrade-playground
 - [deleted]             (none)     -> origin/dev/rfc-value-modifier-plugin-api
 - [deleted]             (none)     -> origin/dev/standalone-home-logo-contents-component
 - [deleted]             (none)     -> origin/discourse-route-actions
 - [deleted]             (none)     -> origin/discourse-url-native-class
 - [deleted]             (none)     -> origin/feature/user-fields-required-for-existing-users-2
 - [deleted]             (none)     -> origin/fix-bbcode-parser
 - [deleted]             (none)     -> origin/fix-group-chat-member-count
 - [deleted]             (none)     -> origin/ghost-button
 - [deleted]             (none)     -> origin/issue/bulk-action-pm-fixes
 - [deleted]             (none)     -> origin/loic-update-to-rails-7.1
 - [deleted]             (none)     -> origin/migrations-tooling/converter
 - [deleted]             (none)     -> origin/permalinks
 - [deleted]             (none)     -> origin/remove-disable-sidebar
 - [deleted]             (none)     -> origin/route-native-class
 - [deleted]             (none)     -> origin/search-result-consistency
 - [deleted]             (none)     -> origin/support_alternate_bucket_s3_inventory
 - [deleted]             (none)     -> origin/update-official-plugin-list
 - [deleted]             (none)     -> origin/user-posts-stream-native-class
 - [deleted]             (none)     -> origin/ux-account-disclaimer
 - [deleted]             (none)     -> origin/with-ancestor-ids
   62b1b69e8..0d608ceff  main                    -> origin/main
 * [new branch]          0-a-fix-high            -> origin/0-a-fix-high
 * [new branch]          add_mechanism_to_redeliver_all_webhook_events -> origin/add_mechanism_to_redeliver_all_webhook_events
 * [new branch]          add_mechanism_to_redeliver_all_webhook_events_wip -> origin/add_mechanism_to_redeliver_all_webhook_events_wip
 * [new branch]          better_logs             -> origin/better_logs
 * [new branch]          chat-empty-state        -> origin/chat-empty-state
 * [new branch]          chat-mobile-menu        -> origin/chat-mobile-menu
 + 098e99e83...bfdeae4f4 coco/generic-importer   -> origin/coco/generic-importer  (forced update)
 * [new branch]          dependabot/bundler/libv8-node-21.7.2.0 -> origin/dependabot/bundler/libv8-node-21.7.2.0
 * [new branch]          dependabot/bundler/oauth2-2.0.9 -> origin/dependabot/bundler/oauth2-2.0.9
 * [new branch]          dependabot/bundler/omniauth-2.1.2 -> origin/dependabot/bundler/omniauth-2.1.2
 * [new branch]          dependabot/bundler/omniauth-google-oauth2-1.1.2 -> origin/dependabot/bundler/omniauth-google-oauth2-1.1.2
 * [new branch]          detect-default-readonly -> origin/detect-default-readonly
 * [new branch]          dev-can-ignore-users    -> origin/dev-can-ignore-users
 * [new branch]          dev/add-behavior-transformers -> origin/dev/add-behavior-transformers
 * [new branch]          dev/ember-source-5.9.0-upgrade -> origin/dev/ember-source-5.9.0-upgrade
 * [new branch]          dev/untangle-admin-sidebar -> origin/dev/untangle-admin-sidebar
 * [new branch]          feature/absolute-number-in-poll -> origin/feature/absolute-number-in-poll
 * [new branch]          feature/private-github-onebox -> origin/feature/private-github-onebox
 * [new branch]          fix-ensure-post-and-topic-user-id-is-always-set -> origin/fix-ensure-post-and-topic-user-id-is-always-set
 * [new branch]          fix-password-reset-security-key -> origin/fix-password-reset-security-key
 * [new branch]          fix-unread-notifications-take-2 -> origin/fix-unread-notifications-take-2
 * [new branch]          fix/table-break-line    -> origin/fix/table-break-line
   b3d6801e8..2902da16e  formtoolkit             -> origin/formtoolkit
 * [new branch]          grant-admin-fetch-user  -> origin/grant-admin-fetch-user
 * [new branch]          issue/do-not-enforce-2fa-on-social-logins -> origin/issue/do-not-enforce-2fa-on-social-logins
 * [new branch]          issue/fix-user-field-enum-migrate -> origin/issue/fix-user-field-enum-migrate
 * [new branch]          issue/prevent-decimal-comma-integer-input-site-setting -> origin/issue/prevent-decimal-comma-integer-input-site-setting
 * [new branch]          jjaffeux-otp-validation -> origin/jjaffeux-otp-validation
 * [new branch]          loic-use-messageformat-gem -> origin/loic-use-messageformat-gem
 * [new branch]          mt/converter            -> origin/mt/converter
 * [new branch]          mt/uploads-command      -> origin/mt/uploads-command
 * [new branch]          prevent-header-cls      -> origin/prevent-header-cls
 * [new branch]          rails_7_1_upgrade       -> origin/rails_7_1_upgrade
 * [new branch]          show-primary-user-group-options-to-members -> origin/show-primary-user-group-options-to-members
   5558028f8..473248381  stable                  -> origin/stable
 * [new branch]          tag-span                -> origin/tag-span
   62b1b69e8..0d608ceff  tests-passed            -> origin/tests-passed
 t [tag update]          beta                    -> beta
 t [tag update]          latest-release          -> latest-release
 * [new tag]             v3.2.3                  -> v3.2.3
 * [new tag]             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
'
Switched to a new branch 'tests-passed'
I, [2024-07-04T13:39:41.631661 #1]  INFO -- : Branch 'tests-passed' set up to track remote branch 'tests-passed' from '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 -- : Replacing # redis with sv start redis || exit 1 in /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
Cloning into '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 -- : Replacing pid /run/nginx.pid; with daemon off; in /etc/nginx/nginx.conf
I, [2024-07-04T13:39:44.840309 #1]  INFO -- : Replacing (?m-ix:upstream[^\}]+\}) with upstream discourse { server 127.0.0.1:3000; } in /etc/nginx/conf.d/discourse.conf
I, [2024-07-04T13:39:44.841050 #1]  INFO -- : Replacing (?-mix:server_name.+$) with server_name _ ; in /etc/nginx/conf.d/discourse.conf
I, [2024-07-04T13:39:44.841683 #1]  INFO -- : Replacing (?-mix:client_max_body_size.+$) with client_max_body_size $upload_size ; in /etc/nginx/conf.d/discourse.conf
I, [2024-07-04T13:39:44.842894 #1]  INFO -- : Replacing (?-mix:worker_connections.+$) with worker_connections $nginx_worker_connections ; in /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 Resolution field "unset-value@2.0.1" is incompatible with requested version "unset-value@^1.0.0"
error Error: https://registry.yarnpkg.com/date-fns/-/date-fns-2.30.0.tgz: ESOCKETTIMEDOUT
    at ClientRequest.<anonymous> (/usr/share/yarn/lib/cli.js:142037:19)
    at Object.onceWrapper (node:events:631:28)
    at ClientRequest.emit (node:events:517:28)
    at TLSSocket.emitRequestTimeout (node:_http_client:847:9)
    at Object.onceWrapper (node:events:631:28)
    at TLSSocket.emit (node:events:529:35)
    at Socket._onTimeout (node:net:598:8)
    at listOnTimeout (node:internal/timers:569:17)
    at process.processTimers (node:internal/timers:512:7)
I, [2024-07-04T13:44:53.619485 #1]  INFO -- : yarn install v1.22.22
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
info There appears to be trouble with your network connection. Retrying...
info There appears to be trouble with your network connection. Retrying...
info There appears to be trouble with your network connection. Retrying...
info There appears to be trouble with your network connection. Retrying...
info There appears to be trouble with your network connection. Retrying...
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

I, [2024-07-04T13:44:53.623961 #1]  INFO -- : Terminating async processes
I, [2024-07-04T13:44:53.624457 #1]  INFO -- : Sending INT to HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 35
I, [2024-07-04T13:44:53.624901 #1]  INFO -- : Sending TERM to 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:  received fast shutdown request
97:signal-handler (1720100693) Received SIGTERM scheduling shutdown...
2024-07-04 13:44:53.632 UTC [35] LOG:  aborting any active transactions
2024-07-04 13:44:53.642 UTC [35] LOG:  background worker "logical replication launcher" (PID 50) exited with exit code 1
97:M 04 Jul 2024 13:44:53.644 # User requested shutdown...
97:M 04 Jul 2024 13:44:53.644 * Saving the final RDB snapshot before exiting.
2024-07-04 13:44:53.650 UTC [45] LOG:  shutting down
2024-07-04 13:44:53.747 UTC [35] LOG:  database system is shut down
97:M 04 Jul 2024 13:44:53.932 * DB saved on disk
97:M 04 Jul 2024 13:44:53.932 # Redis is now ready to exit, bye bye...


FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'yarn install --frozen-lockfile && yarn cache clean' failed with return #<Process::Status: pid 268 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params {"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 failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
0ad323769e87ce77787965163c1889999c044d6dce2cb925cf43f92475148a14
root@vmi1695712:/var/discourse# ^C

e

suggeriscono che la tua VM potrebbe avere problemi di connettività. Potrebbe essere transitorio. Cosa succede se esegui di nuovo ./launcher rebuild app?

La ricompilazione è fallita di nuovo. Stessi errori.

È strano perché sto eseguendo WordPress, Nginx proxy manager e Portainer sullo stesso server e tutto funziona.

Non è strano perché nessuno di questi servizi ha a che fare con discourse.
Avrai bisogno di fornire un log completo della build fallita e maggiori informazioni sulla tua configurazione per ricevere ulteriore aiuto qui.

Nessun problema.

A quale log ti riferisci? Come posso ottenerlo?

Quali altre informazioni ti servono?

Comunque, grazie per il tuo aiuto. Sono davvero perso in questo momento.

Usa ./discourse-doctor genererà un file che potrai condividere.

In secondo luogo, se potessi condividere un app.yml modificato, io o qualcun altro qui potremmo essere in grado di vedere se ci sono problemi evidenti come plugin incompatibili, ecc.

Si è verificato un errore nel mio aggiornamento

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

Per favore aiutami a correggerlo.Sembra esserci un problema con la connessione di rete. Riprovo…
info Sembra esserci un problema con la connessione di rete. Riprovo…
info Sembra esserci un problema con la connessione di rete. Riprovo…
info Sembra esserci un problema con la connessione di rete. Riprovo…
info Sembra esserci un problema con la connessione di rete. Riprovo…
info Visita yarn install | Yarn per la documentazione su questo comando.

98:signal-handler (1720109872) Segnale SIGTERM ricevuto, pianificazione dello spegnimento…
98:M 04 Lug 2024 16:17:52.663 # Spegnimento richiesto dall’utente…
98:M 04 Lug 2024 16:17:52.663 * Salvataggio dello snapshot RDB finale prima dell’uscita.
I, [2024-07-04T16:17:52.653347 #1] INFO – : Terminazione dei processi asincroni
I, [2024-07-04T16:17:52.653701 #1] INFO – : Invio di 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 – : Invio di 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: richiesta di spegnimento rapido ricevuta
2024-07-04 16:17:52.664 UTC [36] LOG: interruzione di tutte le transazioni attive
2024-07-04 16:17:52.743 UTC [36] LOG: worker in background “logical replication launcher” (PID 51) terminato con codice di uscita 1
2024-07-04 16:17:52.744 UTC [46] LOG: spegnimento in corso
2024-07-04 16:17:52.860 UTC [36] LOG: sistema database spento
98:M 04 Lug 2024 16:17:53.048 * DB salvato su disco
98:M 04 Lug 2024 16:17:53.049 # Redis è ora pronto per uscire, arrivederci…

FALLITO

Pups::ExecError: cd /var/www/discourse && su discourse -c ‘yarn install --frozen-lockfile && yarn cache clean’ fallito con codice di uscita # <Process::Status: pid 268 exit 1>
Posizione del fallimento: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn’
exec fallito con i parametri {“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 fallito con codice di uscita 1
** BOOTSTRAP FALLITO ** scorri verso l’alto e cerca messaggi di errore precedenti, potrebbero essercene più di uno.
./discourse-doctor può aiutare a diagnosticare il problema.
28e72690ac1f17e0226b0c7546f1e9d9f299131572ed4deacc95bc109166e028
==================== FINE LOG RICOSTRUZIONE ====================
Ricostruzione app fallita.

Verifica del nome di dominio . . .

Connessione a **************** riuscita.
Probabilmente dovresti rimuovere eventuali plugin non standard e ricostruire.
Tentativo di riavvio del container esistente. . .
Architettura x86_64 rilevata.

avvio del container esistente

  • /usr/bin/docker start app
    app
    ce55082edacf local_discourse/app “/sbin/boot” 4 settimane fa In esecuzione da meno di un secondo app
    Container riavviato.

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

Nessun plugin non ufficiale rilevato.

Vedi discourse/lib/plugin/metadata.rb at main · discourse/discourse · GitHub per l’elenco ufficiale.

========================================
Versione Discourse su ***************: NON TROVATA
Versione Discourse su localhost: NON TROVATA

==================== INFORMAZIONI MEMORIA ====================
RAM (MB): 6209

           totale        usato        libero      condiviso  buff/cache   disponibile

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

==================== CONTROLLO SPAZIO DISCO ====================
---------- Spazio Disco OS ----------
Filesystem Dimensione Usato Disponibile Uso% Montato su
/dev/sda3 391G 23G 349G 7% /

==================== INFORMAZIONI DISCO ====================
Disco /dev/sda: 400 GiB, 429496729600 byte, 838860800 settori
Modello disco: QEMU HARDDISK
Unità: settori di 1 * 512 = 512 byte
Dimensione settore (logico/fisico): 512 byte / 512 byte
Dimensione I/O (minima/ottimale): 512 byte / 512 byte
Tipo etichetta disco: gpt
Identificatore disco: 1B86FC4E-2370-48E1-8752-0E932DA55E09

Dispositivo Inizio Fine Settori Dimensione Tipo
/dev/sda1 2048 4095 2048 1M Boot BIOS
/dev/sda2 4096 4194303 4190208 2G Filesystem Linux
/dev/sda3 4194304 838858751 834664448 398G Filesystem Linux

==================== FINE INFORMAZIONI DISCO ====================

==================== TEST MAIL ====================
Per un test robusto, ottieni un indirizzo da http://www.mail-tester.com/
Oppure invia semplicemente un messaggio di test a te stesso.
Indirizzo email per il test mail? (‘n’ per saltare) [*****]:
Invio mail a . . .
Test invio a ********************** usando email-smtp.us-east-1.amazonaws.com:587, nome utente:
con autenticazione plain .
Connessione al server SMTP riuscita.
Invio a . . .
Mail accettata dal server SMTP.
Message-ID: 2bddc993-deed-4fbc-905e-bc692afc97d8@
.com

Se non ricevi il messaggio, controlla la cartella SPAM
o testa di nuovo usando un servizio come http://www.mail-tester.com/.

Se il messaggio non viene consegnato, non è un problema di Discourse.
Controlla i log del server SMTP per il Message ID sopra per vedere perché
la consegna è fallita.
Sostituzione: SMTP_PASSWORD
Sostituzione: LETSENCRYPT_ACCOUNT_EMAIL
Sostituzione: DEVELOPER_EMAILS
Sostituzione: DISCOURSE_DB_PASSWORD
Sostituzione: Invio mail a

==================== Fatto! ====================


app.yml

questo è il modello Docker all-in-one, standalone per Discourse

Dopo aver apportato modifiche a questo file, DEVI ricostruire

/var/discourse/launcher rebuild app

FAI MOLTA ATTENZIONE DURANTE LA MODIFICA!

I FILE YAML SONO SUPER SUPER SENSIBILI A ERRORI DI SPAZI O ALLINEAMENTO!

visita http://www.yamllint.com/ per validare questo file se necessario

templates:

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

Decommenta la riga successiva per abilitare l’ascoltatore IPv6

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

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

Decommenta queste due righe se desideri aggiungere Lets Encrypt (https)

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

quali porte TCP/IP dovrebbe esporre questo container?

Se vuoi che Discourse condivida una porta con un altro webserver come Apache o nginx,

vedi Run other websites on the same machine as Discourse per i dettagli

expose:

- “80:80” # http

- “443:443” # https

params:
db_default_text_search_config: “pg_catalog.english”

Imposta db_shared_buffers al massimo al 25% della memoria totale.

verrà impostato automaticamente dal bootstrap in base alla RAM rilevata, oppure puoi sovrascrivere

#db_shared_buffers: “256MB”

può migliorare le prestazioni di ordinamento, ma aumenta l’uso di memoria per connessione

#db_work_mem: “40MB”

Quale revisione Git dovrebbe usare questo container? (predefinito: tests-passed)

#version: tests-passed

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

DISCOURSE_DEFAULT_LOCALE: en

Quante richieste web simultanee sono supportate? Dipende da memoria e core CPU.

verrà impostato automaticamente dal bootstrap in base alle CPU rilevate, oppure puoi sovrascrivere

#UNICORN_WORKERS: 3

TODO: Il nome di dominio a cui risponderà questa istanza Discourse

Obbligatorio. Discourse non funzionerà con un indirizzo IP nudo.

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

Decommenta se vuoi che il container venga avviato con lo stesso

nome host (opzione -h) specificato sopra (predefinito “$hostname-$config”)

#DOCKER_USE_HOSTNAME: true

TODO: Elenco di email separate da virgole che diventeranno admin e developer

al primo accesso esempio ‘user1@example.com,user2@example.com’

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

TODO: Il server SMTP mail usato per validare nuovi account e inviare notifiche

INDIRIZZO SMTP, nome utente e password sono obbligatori

ATTENZIONE il carattere ‘#’ nella password SMTP può causare problemi!

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 # (opzionale, predefinito true)
#DISCOURSE_SMTP_DOMAIN: ******************* # (richiesto da alcuni provider)
DISCOURSE_NOTIFICATION_EMAIL: ********************* # (indirizzo da cui inviare le notifiche)

Se hai aggiunto il modello Lets Encrypt, decommenta sotto per ottenere un certificato SSL gratuito

#LETSENCRYPT_ACCOUNT_EMAIL: me@example.com

L’indirizzo CDN http o https per questa istanza Discourse (configurato per pull)

vedi Enable a CDN for your Discourse per i dettagli

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

La chiave di indirizzo IP di geolocalizzazione maxmind per la ricerca indirizzo IP

vedi Upgrade / Rebuilds Fail due to MaxMind DB EOL - #23 by sam per i dettagli

#DISCOURSE_MAXMIND_LICENSE_KEY: 1234567890123456

Il container Docker è senza stato; tutti i dati sono memorizzati in /shared

volumes:

  • volume:
    host: /var/discourse/shared/standalone
    guest: /shared
  • volume:
    host: /var/discourse/shared/standalone/log/var-log
    guest: /var/log

I plugin vanno qui

vedi Install plugins on a self-hosted site per i dettagli

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

Eventuali comandi personalizzati da eseguire dopo la costruzione

run:

  • exec: echo “Inizio dei comandi personalizzati”

Se vuoi impostare l’indirizzo email ‘Da’ per il primo registro, decommenta e cambia:

Dopo aver ricevuto l’email di primo accesso, ricommenta la riga. Deve essere eseguita solo una volta.

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

  • exec: echo “Fine dei comandi personalizzati”

docker_args: |
–network nginx_proxy_manager_default

Aggiornamento: Al decimo tentativo circa, sono riuscito a ricostruire.

Non so se abbia avuto effetto, ma ho aggiornato il motore Docker all’ultima versione.

Tuttavia, sebbene il container sia in esecuzione, non riesco ad accedere alla pagina. Continua a dirmi che l’indirizzo IP del server non è disponibile.

Ho anche provato ad accedere al sito da un’altra rete su un altro dispositivo, ma senza successo.

Come ho menzionato, sullo stesso VPS, eseguo WordPress sul dominio principale e tutto funziona bene. Non capisco come Discord possa smettere di funzionare così all’improvviso.

Qualche idea? Sto diventando davvero disperato.

Problema risolto.

Per ragioni che non comprendo, l’accesso al sito ha smesso di funzionare dopo circa 24 ore dall’aggiunta di un record TXT al DNS.

Ho provato ad aggiungere un record A con l’IP del server nel formato forum.domain.com e, dopo un po’, ha ricominciato a funzionare. In precedenza, funzionava il reindirizzamento a un sottodominio con *.domain.com.

Ammetto che questo è un mistero per me, ma l’importante è che ora funzioni :grinning: