Discourse недоступен после неудачного обновления: «bootstrap завершён с кодом выхода 5»

Всем привет,

Мой Discourse сейчас недоступен :cry: :pensive:

Он перестал работать после попытки обновления сегодня утром с/на v3.2.0.beta3 +468:

В командной строке сообщение об ошибке выглядит так:

И полный лог консоли:

[code]
root@greyarro:~# cd /var/discourse/
root@greyarro:/var/discourse# git pull
Already up to date.
root@greyarro:/var/discourse# ./launcher rebuild app
x86_64 arch detected.
WARNING: containers/app.yml file is world-readable. You can secure this file by running: chmod o-rwx containers/app.yml
Ensuring launcher is up to date
Fetching origin
Launcher is up-to-date
2.0.20231023-1945: Pulling from discourse/base
Digest: sha256:2b0eb484d20888cc2daadb690dcfa73522105650c1420212e99345a36a424d77
Status: Image is up to date for 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-11T06:36:42.453494 #1] INFO – : Reading from stdin
I, [2023-12-11T06:36:42.461560 #1] INFO – : > locale-gen $LANG && update-locale
I, [2023-12-11T06:36:42.523575 #1] INFO – : Generating locales (this might take a while)…
Generation complete.

I, [2023-12-11T06:36:42.524082 #1] INFO – : > mkdir -p /shared/postgres_run
I, [2023-12-11T06:36:42.529018 #1] INFO – :
I, [2023-12-11T06:36:42.529478 #1] INFO – : > chown postgres:postgres /shared/postgres_run
I, [2023-12-11T06:36:42.534085 #1] INFO – :
I, [2023-12-11T06:36:42.534610 #1] INFO – : > chmod 775 /shared/postgres_run
I, [2023-12-11T06:36:42.538665 #1] INFO – :
I, [2023-12-11T06:36:42.539119 #1] INFO – : > rm -fr /var/run/postgresql
I, [2023-12-11T06:36:42.542429 #1] INFO – :
I, [2023-12-11T06:36:42.542918 #1] INFO – : > ln -s /shared/postgres_run /var/run/postgresql
I, [2023-12-11T06:36:42.545917 #1] INFO – :
I, [2023-12-11T06:36:42.546272 #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/11 06:36:42 socat[17] E connect(6, AF=1 “/shared/postgres_run/.s.PGSQL.5432”, 36): No such file or directory
I, [2023-12-11T06:36:42.557289 #1] INFO – :
I, [2023-12-11T06:36:42.557926 #1] INFO – : > rm -fr /shared/postgres_run/.s*
I, [2023-12-11T06:36:42.562906 #1] INFO – :
I, [2023-12-11T06:36:42.563405 #1] INFO – : > rm -fr /shared/postgres_run/.pid
I, [2023-12-11T06:36:42.568125 #1] INFO – :
I, [2023-12-11T06:36:42.568537 #1] INFO – : > mkdir -p /shared/postgres_run/13-main.pg_stat_tmp
I, [2023-12-11T06:36:42.571897 #1] INFO – :
I, [2023-12-11T06:36:42.572328 #1] INFO – : > chown postgres:postgres /shared/postgres_run/13-main.pg_stat_tmp
I, [2023-12-11T06:36:42.575429 #1] INFO – :
I, [2023-12-11T06:36:42.583069 #1] INFO – : File > /etc/service/postgres/run chmod: +x chown:
I, [2023-12-11T06:36:42.591097 #1] INFO – : File > /etc/service/postgres/log/run chmod: +x chown:
I, [2023-12-11T06:36:42.599557 #1] INFO – : File > /etc/runit/3.d/99-postgres chmod: +x chown:
I, [2023-12-11T06:36:42.607693 #1] INFO – : File > /root/upgrade_postgres chmod: +x chown:
I, [2023-12-11T06:36:42.608293 #1] INFO – : > chown -R root /var/lib/postgresql/13/main
I, [2023-12-11T06:36:43.061308 #1] INFO – :
I, [2023-12-11T06:36:43.061769 #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-11T06:36:43.066134 #1] INFO – :
I, [2023-12-11T06:36:43.066571 #1] INFO – : > chown -R postgres:postgres /shared/postgres_data
I, [2023-12-11T06:36:43.105049 #1] INFO – :
I, [2023-12-11T06:36:43.105891 #1] INFO – : > chown -R postgres:postgres /var/run/postgresql
I, [2023-12-11T06:36:43.111420 #1] INFO – :
I, [2023-12-11T06:36:43.112072 #1] INFO – : > /root/upgrade_postgres
I, [2023-12-11T06:36:43.122177 #1] INFO – :
I, [2023-12-11T06:36:43.122713 #1] INFO – : > rm /root/upgrade_postgres
I, [2023-12-11T06:36:43.126702 #1] INFO – :
I, [2023-12-11T06:36:43.127981 #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-11T06:36:43.128927 #1] INFO – : Replacing (?-mix:#?listen_addresses =.) with listen_addresses = '
’ in /etc/postgresql/13/main/postgresql.conf
I, [2023-12-11T06:36:43.129583 #1] INFO – : Replacing (?-mix:#?synchronous_commit =.) with synchronous_commit = $db_synchronous_commit in /etc/postgresql/13/main/postgresql.conf
I, [2023-12-11T06:36:43.130214 #1] INFO – : Replacing (?-mix:#?shared_buffers =.) with shared_buffers = $db_shared_buffers in /etc/postgresql/13/main/postgresql.conf
I, [2023-12-11T06:36:43.130899 #1] INFO – : Replacing (?-mix:#?work_mem =.) with work_mem = $db_work_mem in /etc/postgresql/13/main/postgresql.conf
I, [2023-12-11T06:36:43.131457 #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-11T06:36:43.132096 #1] INFO – : > install -d -m 0755 -o postgres -g postgres /shared/postgres_backup
I, [2023-12-11T06:36:43.137173 #1] INFO – :
I, [2023-12-11T06:36:43.137747 #1] INFO – : Replacing (?-mix:#?checkpoint_segments =.) with checkpoint_segments = $db_checkpoint_segments in /etc/postgresql/13/main/postgresql.conf
I, [2023-12-11T06:36:43.138339 #1] INFO – : Replacing (?-mix:#?logging_collector =.) with logging_collector = $db_logging_collector in /etc/postgresql/13/main/postgresql.conf
I, [2023-12-11T06:36:43.139065 #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-11T06:36:43.140177 #1] INFO – : Replacing (?-mix:^#local +replication +postgres +peer$) with local replication postgres peer in /etc/postgresql/13/main/pg_hba.conf
I, [2023-12-11T06:36:43.140923 #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-11T06:36:43.141403 #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-11T06:36:43.141961 #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-11T06:36:43.144661 #1] INFO – : > sleep 5
2023-12-11 06:36:43.213 UTC [40] 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-11 06:36:43.213 UTC [40] LOG: listening on IPv4 address “0.0.0.0”, port 5432
2023-12-11 06:36:43.213 UTC [40] LOG: listening on IPv6 address “::”, port 5432
2023-12-11 06:36:43.217 UTC [40] LOG: listening on Unix socket “/var/run/postgresql/.s.PGSQL.5432”
2023-12-11 06:36:43.223 UTC [43] LOG: database system was shut down at 2023-12-11 06:33:31 UTC
2023-12-11 06:36:43.236 UTC [40] LOG: database system is ready to accept connections
I, [2023-12-11T06:36:48.151212 #1] INFO – :
I, [2023-12-11T06:36:48.151469 #1] INFO – : > su postgres -c ‘createdb discourse’ || true
2023-12-11 06:36:48.241 UTC [53] postgres@postgres ERROR: database “discourse” already exists
2023-12-11 06:36:48.241 UTC [53] postgres@postgres STATEMENT: CREATE DATABASE discourse;
createdb: error: database creation failed: ERROR: database “discourse” already exists
I, [2023-12-11T06:36:48.244084 #1] INFO – :
I, [2023-12-11T06:36:48.244295 #1] INFO – : > su postgres -c ‘psql discourse -c “create user discourse;”’ || true
2023-12-11 06:36:48.310 UTC [57] postgres@discourse ERROR: role “discourse” already exists
2023-12-11 06:36:48.310 UTC [57] postgres@discourse STATEMENT: create user discourse;
ERROR: role “discourse” already exists
I, [2023-12-11T06:36:48.313540 #1] INFO – :
I, [2023-12-11T06:36:48.313932 #1] INFO – : > su postgres -c ‘psql discourse -c “grant all privileges on database discourse to discourse;”’ || true
I, [2023-12-11T06:36:48.372120 #1] INFO – : GRANT

I, [2023-12-11T06:36:48.372374 #1] INFO – : > su postgres -c ‘psql discourse -c “alter schema public owner to discourse;”’
I, [2023-12-11T06:36:48.428450 #1] INFO – : ALTER SCHEMA

I, [2023-12-11T06:36:48.428697 #1] INFO – : > su postgres -c ‘psql template1 -c “create extension if not exists hstore;”’
NOTICE: extension “hstore” already exists, skipping
I, [2023-12-11T06:36:48.509937 #1] INFO – : CREATE EXTENSION

I, [2023-12-11T06:36:48.510198 #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-11T06:36:48.575901 #1] INFO – : CREATE EXTENSION

I, [2023-12-11T06:36:48.576560 #1] INFO – : > su postgres -c ‘psql template1 -c “create extension if not exists vector;”’
NOTICE: extension “vector” already exists, skipping
I, [2023-12-11T06:36:48.634184 #1] INFO – : CREATE EXTENSION

I, [2023-12-11T06:36:48.634407 #1] INFO – : > su postgres -c ‘psql discourse -c “create extension if not exists hstore;”’
NOTICE: extension “hstore” already exists, skipping
I, [2023-12-11T06:36:48.691197 #1] INFO – : CREATE EXTENSION

I, [2023-12-11T06:36:48.691402 #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-11T06:36:48.747583 #1] INFO – : CREATE EXTENSION

I, [2023-12-11T06:36:48.747801 #1] INFO – : > su postgres -c ‘psql discourse -c “create extension if not exists vector;”’
NOTICE: extension “vector” already exists, skipping
I, [2023-12-11T06:36:48.805422 #1] INFO – : CREATE EXTENSION

I, [2023-12-11T06:36:48.805817 #1] INFO – : > sudo -u postgres psql discourse
I, [2023-12-11T06:36:48.808688 #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-11T06:36:48.891679 #1] INFO – : File > /var/lib/postgresql/take-database-backup chmod: +x chown: postgres:postgres
I, [2023-12-11T06:36:48.896830 #1] INFO – : File > /var/spool/cron/crontabs/postgres chmod: chown:
I, [2023-12-11T06:36:48.896998 #1] INFO – : > echo postgres installed!
I, [2023-12-11T06:36:48.899962 #1] INFO – : postgres installed!

I, [2023-12-11T06:36:48.907627 #1] INFO – : File > /etc/service/redis/run chmod: +x chown:
I, [2023-12-11T06:36:48.914411 #1] INFO – : File > /etc/service/redis/log/run chmod: +x chown:
I, [2023-12-11T06:36:48.920982 #1] INFO – : File > /etc/runit/3.d/10-redis chmod: +x chown:
I, [2023-12-11T06:36:48.922023 #1] INFO – : Replacing daemonize yes with in /etc/redis/redis.conf
I, [2023-12-11T06:36:48.922829 #1] INFO – : Replacing (?-mix:^pidfile.$) with in /etc/redis/redis.conf
I, [2023-12-11T06:36:48.923923 #1] INFO – : > install -d -m 0755 -o redis -g redis /shared/redis_data
I, [2023-12-11T06:36:48.928742 #1] INFO – :
I, [2023-12-11T06:36:48.929799 #1] INFO – : Replacing (?-mix:^logfile.
$) with logfile “” in /etc/redis/redis.conf
I, [2023-12-11T06:36:48.930627 #1] INFO – : Replacing (?-mix:^bind .$) with in /etc/redis/redis.conf
I, [2023-12-11T06:36:48.931845 #1] INFO – : Replacing (?-mix:^dir .
$) with dir /shared/redis_data in /etc/redis/redis.conf
I, [2023-12-11T06:36:48.933205 #1] INFO – : Replacing (?-mix:^protected-mode yes) with protected-mode no in /etc/redis/redis.conf
I, [2023-12-11T06:36:48.934373 #1] INFO – : Replacing # io-threads 4 with io-threads $redis_io_threads in /etc/redis/redis.conf
I, [2023-12-11T06:36:48.935362 #1] INFO – : > echo redis installed
I, [2023-12-11T06:36:48.939050 #1] INFO – : redis installed

I, [2023-12-11T06:36:48.939481 #1] INFO – : > cat /etc/redis/redis.conf | grep logfile
I, [2023-12-11T06:36:48.947715 #1] INFO – : logfile “”

I, [2023-12-11T06:36:48.948224 #1] INFO – : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2023-12-11T06:36:48.950934 #1] INFO – : > sleep 10
109:C 11 Dec 2023 06:36:48.962 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
109:C 11 Dec 2023 06:36:48.962 # Redis version=7.0.7, bits=64, commit=00000000, modified=0, pid=109, just started
109:C 11 Dec 2023 06:36:48.962 # Configuration loaded
109:M 11 Dec 2023 06:36:48.963 * monotonic clock: POSIX clock_gettime
109:M 11 Dec 2023 06:36:48.964 * Running mode=standalone, port=6379.
109:M 11 Dec 2023 06:36:48.964 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
109:M 11 Dec 2023 06:36:48.964 # Server initialized
109:M 11 Dec 2023 06:36:48.964 # 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 vm.max_map_count growing steadily when vm.overcommit_memory is 2 · Issue #1328 · jemalloc/jemalloc · GitHub. 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.
109:M 11 Dec 2023 06:36:48.965 * Loading RDB produced by version 7.0.7
109:M 11 Dec 2023 06:36:48.965 * RDB age 196 seconds
109:M 11 Dec 2023 06:36:48.965 * RDB memory usage when created 238.89 Mb
109:M 11 Dec 2023 06:36:49.836 * Done loading RDB, keys loaded: 78979, keys expired: 55.
109:M 11 Dec 2023 06:36:49.836 * DB loaded from disk: 0.871 seconds
109:M 11 Dec 2023 06:36:49.836 * Ready to accept connections
I, [2023-12-11T06:36:58.954574 #1] INFO – :
I, [2023-12-11T06:36:58.955135 #1] INFO – : > thpoff echo “thpoff is installed!”
I, [2023-12-11T06:36:58.960865 #1] INFO – : thpoff is installed!

I, [2023-12-11T06:36:58.961207 #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-11T06:36:59.059159 #1] INFO – :
I, [2023-12-11T06:36:59.059736 #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-11T06:36:59.148371 #1] INFO – :
I, [2023-12-11T06:36:59.149030 #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-11T06:36:59.236730 #1] INFO – :
I, [2023-12-11T06:36:59.237387 #1] INFO – : > rm -f /etc/cron.d/anacron
I, [2023-12-11T06:36:59.242323 #1] INFO – :
I, [2023-12-11T06:36:59.247436 #1] INFO – : File > /etc/cron.d/anacron chmod: chown:
I, [2023-12-11T06:36:59.254458 #1] INFO – : File > /etc/runit/1.d/copy-env chmod: +x chown:
I, [2023-12-11T06:36:59.261375 #1] INFO – : File > /etc/service/unicorn/run chmod: +x chown:
I, [2023-12-11T06:36:59.268779 #1] INFO – : File > /etc/service/nginx/run chmod: +x chown:
I, [2023-12-11T06:36:59.276427 #1] INFO – : File > /etc/runit/3.d/01-nginx chmod: +x chown:
I, [2023-12-11T06:36:59.283178 #1] INFO – : File > /etc/runit/3.d/02-unicorn chmod: +x chown:
I, [2023-12-11T06:36:59.283492 #1] INFO – : Replacing # postgres with sv start postgres || exit 1 in /etc/service/unicorn/run
I, [2023-12-11T06:36:59.284057 #1] INFO – : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2023-12-11T06:36:59.287039 #1] INFO – : > cd /var/www/discourse && sudo -H -E -u discourse git reset --hard
137:C 11 Dec 2023 06:36:59.295 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
137:C 11 Dec 2023 06:36:59.295 # Redis version=7.0.7, bits=64, commit=00000000, modified=0, pid=137, just started
137:C 11 Dec 2023 06:36:59.295 # Configuration loaded
137:M 11 Dec 2023 06:36:59.295 * monotonic clock: POSIX clock_gettime
137:M 11 Dec 2023 06:36:59.295 # Warning: Could not create server TCP listening socket *:6379: bind: Address already in use
137:M 11 Dec 2023 06:36:59.295 # Failed listening on port 6379 (TCP), aborting.
Updating files: 100% (33858/33858), done.
I, [2023-12-11T06:37:03.209327 #1] INFO – : HEAD is now at 043b4a418 FIX: replaces data-tooltip usage by (#24062)

I, [2023-12-11T06:37:03.209496 #1] INFO – : > cd /var/www/discourse && sudo -H -E -u discourse git clean -f
I, [2023-12-11T06:37:03.416955 #1] INFO – :
I, [2023-12-11T06:37:03.417150 #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 GitHub - discourse/discourse: A platform for community discussion. Free, open, simple. · GitHub

  • [удалено] (none) → origin/0-flake-key
  • [удалено] (none) → origin/0-grant-badge-fix
  • [удалено] (none) → origin/0-obscuring
  • [удалено] (none) → origin/0-router-lint
  • [удалено] (none) → origin/0-router-service
  • [удалено] (none) → origin/a-smokes-test
  • [удалено] (none) → origin/autoimport-cleanup
  • [удалено] (none) → origin/category-bullet-only
  • [удалено] (none) → origin/dependabot/bundler/syntax_tree-6.2.0
  • [удалено] (none) → origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/aws-s3-3.4.0
  • [удалено] (none) → origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/aws-s3-multipart-3.8.0
  • [удалено] (none) → origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/core-3.6.0
  • [удалено] (none) → origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/utils-5.5.2
  • [удалено] (none) → origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/xhr-upload-3.4.2
  • [удалено] (none) → origin/dev-upgrade-reject-reason-reviewable-modal
  • [удалено] (none) → origin/dev/ability-to-collect-stats-without-public-exposing
  • [удалено] (none) → origin/dev/minio-s3-system-specs
  • [удалено] (none) → origin/dev/re-enable-minio-specs
  • [удалено] (none) → origin/dev/switch-over-category-settings
  • [удалено] (none) → origin/dev/switch-over-more-category-settings
  • [удалено] (none) → origin/discovery-named-outlets
  • [удалено] (none) → origin/feature/theme-settings-migration
  • [удалено] (none) → origin/fix/account-for-empty-string-site-settings
  • [удалено] (none) → origin/footnote-plugin
  • [удалено] (none) → origin/metadata-update
  • [удалено] (none) → origin/modal-ux
  • [удалено] (none) → origin/neil-2
  • [удалено] (none) → origin/perf_cache_async_search
  • [удалено] (none) → origin/redo-post-focus-setting
  • [удалено] (none) → origin/spoiler-plugin
  • [удалено] (none) → origin/support-search-customizationz
    043b4a418..4949d85c1 main → origin/main
  • [новая ветка] 0-class-attribute → origin/0-class-attribute
  • [новая ветка] 0-for-attributes → origin/0-for-attributes
  • [новая ветка] 0-i18n-case → origin/0-i18n-case
  • [новая ветка] add-custom-emoji-sanitization-clean → origin/add-custom-emoji-sanitization-clean
  • [новая ветка] 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 (принудительное обновление)
  • [новая ветка] api-topic-title-decorator → origin/api-topic-title-decorator
  • [новая ветка] array-custom-field-order → origin/array-custom-field-order
  • [новая ветка] boosted-searches → origin/boosted-searches
  • [новая ветка] bulk-button-class → origin/bulk-button-class
  • [новая ветка] category_definition → origin/category_definition
  • [новая ветка] chat-github-onebox → origin/chat-github-onebox
  • [новая ветка] chat-reaction-emoji-alignment → origin/chat-reaction-emoji-alignment
  • [новая ветка] chat/direct-messages → origin/chat/direct-messages
  • [новая ветка] confirm-session-only-after-5-mins → origin/confirm-session-only-after-5-mins
  • [новая ветка] custom-field-store-cleanup → origin/custom-field-store-cleanup
  • [новая ветка] delete-backups-based-on-time-window → origin/delete-backups-based-on-time-window
  • [новая ветка] dependabot/github_actions/actions/labeler-5 → origin/dependabot/github_actions/actions/labeler-5
  • [новая ветка] dependabot/github_actions/actions/stale-9 → origin/dependabot/github_actions/actions/stale-9
  • [новая ветка] 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
  • [новая ветка] 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
  • [новая ветка] 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
  • [новая ветка] 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
  • [новая ветка] 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
  • [новая ветка] desktop-notification-handlers → origin/desktop-notification-handlers
  • [новая ветка] dev/add-a-reference-column-to-notifications → origin/dev/add-a-reference-column-to-notifications
  • ee95e6359…a2b413786 dev/add-new-chat-metrics → origin/dev/add-new-chat-metrics (принудительное обновление)
  • [новая ветка] dev/drop-notification_id-column-on-chat-mentions → origin/dev/drop-notification_id-column-on-chat-mentions
  • [новая ветка] dev/dry-up-user-status-serializers → origin/dev/dry-up-user-status-serializers
  • [новая ветка] dev/flaky-chat-details-collapser-spec → origin/dev/flaky-chat-details-collapser-spec
  • [новая ветка] dev/no-need-to-include-user-status-twice → origin/dev/no-need-to-include-user-status-twice
  • [новая ветка] dev/remove-legacy-hamburger-menu → origin/dev/remove-legacy-hamburger-menu
  • [новая ветка] dev/rethink-mass-mentions → origin/dev/rethink-mass-mentions
  • [новая ветка] dev/rethink-mass-mentions-polymorphic → origin/dev/rethink-mass-mentions-polymorphic
  • [новая ветка] dev/revert-guardian-devex → origin/dev/revert-guardian-devex
  • 54940ca5c…3eacfe150 dev_paginate_categories_json → origin/dev_paginate_categories_json (принудительное обновление)
  • [новая ветка] dev_watched_words → origin/dev_watched_words
  • 46fe4511f…a9d0e7069 ember-4 → origin/ember-4 (принудительное обновление)
  • [новая ветка] ember-5-plugins → origin/ember-5-plugins
  • [новая ветка] extract_stripper → origin/extract_stripper
  • [новая ветка] feature/admin-sidebar-v0 → origin/feature/admin-sidebar-v0
    9a6c6fd5b..8780daeee feature/bookmark-menu-and-modal-redesign → origin/feature/bookmark-menu-and-modal-redesign
  • [новая ветка] feature/migrations-schema-generator → origin/feature/migrations-schema-generator
  • [новая ветка] feature_watched_words_validation → origin/feature_watched_words_validation
  • [новая ветка] file-size-restriction → origin/file-size-restriction
    43df37774..4393dd37e filtered-events → origin/filtered-events
  • [новая ветка] fix/count-mass-mentions-correctly → origin/fix/count-mass-mentions-correctly
  • [новая ветка] full-page → origin/full-page
    ce7fb6906..31e32f8a1 generic-import-latest → origin/generic-import-latest
  • [новая ветка] generic-import-latest-snowflake → origin/generic-import-latest-snowflake
  • [новая ветка] generic-import-update → origin/generic-import-update
  • [новая ветка] image-assets → origin/image-assets
  • [новая ветка] independent-theme-compiler → origin/independent-theme-compiler
  • [новая ветка] input-text-field-component → origin/input-text-field-component
  • [новая ветка] issue/fix-guardian-init-basic-user → origin/issue/fix-guardian-init-basic-user
  • [новая ветка] keyword-site-setting → origin/keyword-site-setting
  • bdcc24f96…92e545292 list-wrapper → origin/list-wrapper (принудительное обновление)
    e3636078c..5def32699 mock-chat-index-redesign → origin/mock-chat-index-redesign
  • [новая ветка] move_inflector → origin/move_inflector
  • [новая ветка] multi-invite → origin/multi-invite
  • [новая ветка] noti-glimmer → origin/noti-glimmer
  • [новая ветка] oklab → origin/oklab
  • [новая ветка] poc/auto-after-before-plugin-outlets → origin/poc/auto-after-before-plugin-outlets
  • [новая ветка] poc/insert-before-after-wrapping-outlet → origin/poc/insert-before-after-wrapping-outlet
  • [новая ветка] pretty-text-please → origin/pretty-text-please
  • [новая ветка] reload-page-user-prefs-2fa → origin/reload-page-user-prefs-2fa
  • [новая ветка] revert-maxmind → origin/revert-maxmind
    ef3f41543..223626d7a stable → origin/stable
  • [новая ветка] support-load-more-btn → origin/support-load-more-btn
  • [новая ветка] test-issue-temporary → origin/test-issue-temporary
    043b4a418..4949d85c1 tests-passed → origin/tests-passed
  • [новая ветка] tmp/reimplement-all-and-here-mentions → origin/tmp/reimplement-all-and-here-mentions
  • [новая ветка] tobiaseigen-patch-3 → origin/tobiaseigen-patch-3
  • [новая ветка] transform-hooks → origin/transform-hooks
  • [новая ветка] transform-post-fn-api → origin/transform-post-fn-api
  • [новая ветка] tweaks-2-fr → origin/tweaks-2-fr
  • [новая ветка] username_cache → origin/username_cache
  • [новая ветка] ux-add-sorting-params-to-outlet → origin/ux-add-sorting-params-to-outlet
    t [обновление тега] beta → beta
    t [обновление тега] latest-release → latest-release
  • [новый тег] v3.1.3 → v3.1.3
  • [новый тег] v3.2.0.beta3 → v3.2.0.beta3
    I, [2023-12-11T06:37:05.107220 #1] INFO – :
    I, [2023-12-11T06:37:05.107337 #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

    Переключено на новую ветку ‘tests-passed’
    I, [2023-12-11T06:37:10.039336 #1] INFO – : Ветка ‘tests-passed’ настроена для отслеживания удаленной ветки ‘tests-passed’ из ‘origin’.

I, [2023-12-11T06:37:10.039485 #1] INFO – : > cd /var/www/discourse && sudo -H -E -u discourse git config user.discourse-version tests-passed
I, [2023-12-11T06:37:10.055796 #1] INFO – :
I, [2023-12-11T06:37:10.055932 #1] INFO – : > cd /var/www/discourse && mkdir -p tmp
I, [2023-12-11T06:37:10.062383 #1] INFO – :
I, [2023-12-11T06:37:10.062911 #1] INFO – : > cd /var/www/discourse && chown discourse:www-data tmp
I, [2023-12-11T06:37:10.068906 #1] INFO – :
I, [2023-12-11T06:37:10.069051 #1] INFO – : > cd /var/www/discourse && mkdir -p tmp/pids
I, [2023-12-11T06:37:10.075337 #1] INFO – :
I, [2023-12-11T06:37:10.075478 #1] INFO – : > cd /var/www/discourse && mkdir -p tmp/sockets
I, [2023-12-11T06:37:10.081087 #1] INFO – :
I, [2023-12-11T06:37:10.081222 #1] INFO – : > cd /var/www/discourse && touch tmp/.gitkeep
I, [2023-12-11T06:37:10.087004 #1] INFO – :
I, [2023-12-11T06:37:10.087139 #1] INFO – : > cd /var/www/discourse && mkdir -p /shared/log/rails
I, [2023-12-11T06:37:10.093140 #1] INFO – :
I, [2023-12-11T06:37:10.093305 #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-11T06:37:10.100413 #1] INFO – :
I, [2023-12-11T06:37:10.100570 #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-11T06:37:10.108011 #1] INFO – :
I, [2023-12-11T06:37:10.108130 #1] INFO – : > cd /var/www/discourse && bash -c “mkdir -p /shared/{uploads,backups}”
I, [2023-12-11T06:37:10.116596 #1] INFO – :
I, [2023-12-11T06:37:10.116726 #1] INFO – : > cd /var/www/discourse && bash -c “ln -s /shared/{uploads,backups} /var/www/discourse/public”
I, [2023-12-11T06:37:10.124273 #1] INFO – :
I, [2023-12-11T06:37:10.124421 #1] INFO – : > cd /var/www/discourse && bash -c “mkdir -p /shared/tmp/{backups,restores}”
I, [2023-12-11T06:37:10.134061 #1] INFO – :
I, [2023-12-11T06:37:10.134228 #1] INFO – : > cd /var/www/discourse && bash -c “ln -s /shared/tmp/{backups,restores} /var/www/discourse/tmp”
I, [2023-12-11T06:37:10.141458 #1] INFO – :
I, [2023-12-11T06:37:10.141602 #1] INFO – : > cd /var/www/discourse && chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp
I, [2023-12-11T06:37:10.163707 #1] INFO – :
I, [2023-12-11T06:37:10.163854 #1] INFO – : > cd /var/www/discourse && [ ! -d public/plugins ] || find public/plugins/ -maxdepth 1 -xtype l -delete
I, [2023-12-11T06:37:10.169471 #1] INFO – :
I, [2023-12-11T06:37:10.170368 #1] INFO – : Замена # redis на sv start redis || exit 1 в /etc/service/unicorn/run
I, [2023-12-11T06:37:10.171519 #1] INFO – : > cd /var/www/discourse/plugins && git clone GitHub - discourse/docker_manager: Plugin for use with discourse docker image · GitHub
Клонирование в ‘docker_manager’…
I, [2023-12-11T06:37:11.142485 #1] INFO – :
I, [2023-12-11T06:37:11.142680 #1] INFO – : > cd /var/www/discourse/plugins && git clone GitHub - discourse/discourse-solved: Allow accepted answers on topics · GitHub
Клонирование в ‘discourse-solved’…
I, [2023-12-11T06:37:11.877496 #1] INFO – :
I, [2023-12-11T06:37:11.878167 #1] INFO – : > cd /var/www/discourse/plugins && git clone GitHub - merefield/discourse-locations: Tools for handling locations in Discourse · GitHub
Клонирование в ‘discourse-locations’…
I, [2023-12-11T06:37:12.713978 #1] INFO – :
I, [2023-12-11T06:37:12.714105 #1] INFO – : > cd /var/www/discourse/plugins && git clone GitHub - discourse/discourse-data-explorer: SQL Queries for admins in Discourse · GitHub
Клонирование в ‘discourse-data-explorer’…
I, [2023-12-11T06:37:13.532864 #1] INFO – :
I, [2023-12-11T06:37:13.533001 #1] INFO – : > cd /var/www/discourse/plugins && git clone GitHub - discourse/discourse-adplugin: Official Discourse Advertising Plugin. Install & Start Serving Ads on Your Discourse Forum · GitHub
Клонирование в ‘discourse-adplugin’…
I, [2023-12-11T06:37:14.305555 #1] INFO – :
I, [2023-12-11T06:37:14.305817 #1] INFO – : > cd /var/www/discourse/plugins && git clone GitHub - discourse/discourse-reactions: Moved to https://github.com/discourse/discourse/tree/main/plugins/discourse-reactions · GitHub
Клонирование в ‘discourse-reactions’…
I, [2023-12-11T06:37:15.045125 #1] INFO – :
I, [2023-12-11T06:37:15.045247 #1] INFO – : > cd /var/www/discourse/plugins && git clone GitHub - discourse/discourse-templates: A plugin that allows users to use templates to insert frequently used content · GitHub
Клонирование в ‘discourse-templates’…
I, [2023-12-11T06:37:15.809915 #1] INFO – :
I, [2023-12-11T06:37:15.810046 #1] INFO – : > cd /var/www/discourse/plugins && git clone GitHub - discourse/discourse-affiliate · GitHub
Клонирование в ‘discourse-affiliate’…
I, [2023-12-11T06:37:16.433061 #1] INFO – :
I, [2023-12-11T06:37:16.434123 #1] INFO – : > cp /var/www/discourse/config/nginx.sample.conf /etc/nginx/conf.d/discourse.conf
I, [2023-12-11T06:37:16.442090 #1] INFO – :
I, [2023-12-11T06:37:16.442586 #1] INFO – : > rm /etc/nginx/sites-enabled/default
I, [2023-12-11T06:37:16.446759 #1] INFO – :
I, [2023-12-11T06:37:16.447263 #1] INFO – : > mkdir -p /var/nginx/cache
I, [2023-12-11T06:37:16.451474 #1] INFO – :
I, [2023-12-11T06:37:16.452405 #1] INFO – : Замена pid /run/nginx.pid; на daemon off; в /etc/nginx/nginx.conf
I, [2023-12-11T06:37:16.453144 #1] INFO – : Замена (?m-ix:upstream[^}]+}) на upstream discourse { server 127.0.0.1:3000; } в /etc/nginx/conf.d/discourse.conf
I, [2023-12-11T06:37:16.453873 #1] INFO – : Замена (?-mix:server_name.+$) на server_name _ ; в /etc/nginx/conf.d/discourse.conf
I, [2023-12-11T06:37:16.454418 #1] INFO – : Замена (?-mix:client_max_body_size.+$) на client_max_body_size $upload_size ; в /etc/nginx/conf.d/discourse.conf
I, [2023-12-11T06:37:16.454991 #1] INFO – : Замена (?-mix:worker_connections.+$) на worker_connections $nginx_worker_connections ; в /etc/nginx/nginx.conf
I, [2023-12-11T06:37:16.455481 #1] INFO – : > echo “done configuring web”
I, [2023-12-11T06:37:16.459601 #1] INFO – : done configuring web

I, [2023-12-11T06:37:16.460326 #1] INFO – : > cd /var/www/discourse && gem install bundler --conservative -v $(awk ‘/BUNDLED WITH/ { getline; gsub(/ /,“”); print $0 }’ Gemfile.lock)
I, [2023-12-11T06:37:16.836806 #1] INFO – :
I, [2023-12-11T06:37:16.836974 #1] INFO – : > cd /var/www/discourse && find /var/www/discourse ! -user discourse -exec chown discourse {} +
I, [2023-12-11T06:37:19.438303 #1] INFO – :
I, [2023-12-11T06:37:19.438984 #1] INFO – : > cd /var/www/discourse && if [ “tests-passed” != “tests-passed” ]; then
rm -rf app/assets/javascripts/node_modules
fi
I, [2023-12-11T06:37:19.442692 #1] INFO – :
I, [2023-12-11T06:37:19.442789 #1] INFO – : > cd /var/www/discourse && su discourse -c ‘yarn install --frozen-lockfile && yarn cache clean’
warning " > @glint/environment-ember-loose@1.1.0" has unmet peer dependency “@glimmer/component@^1.1.2”.
warning " > @glint/environment-ember-template-imports@1.1.0" has unmet peer dependency “ember-template-imports@^3.0.0”.
warning Resolution field “unset-value@2.0.1” is incompatible with requested version “unset-value@^1.0.0”
warning Pattern [“wrap-ansi@^7.0.0”] is trying to unpack in the same destination “/home/discourse/.cache/yarn/v6/npm-wrap-ansi-cjs-7.0.0-67e145cff510a6a6984bdf1152911d69d2eb9e43-integrity/node_modules/wrap-ansi-cjs” as pattern [“wrap-ansi-cjs@npm:wrap-ansi@^7.0.0”]. This could result in non-deterministic behavior, skipping.
warning " > discourse-markdown-it@1.0.0" has unmet peer dependency “xss@*”.
warning “workspace-aggregator-4a0ff1cd-82ba-483f-8207-6b2c0f0b31fb > discourse > @ember/legacy-built-in-components@0.5.0” has incorrect peer dependency “ember-source@>= 4.8”.
warning “workspace-aggregator-4a0ff1cd-82ba-483f-8207-6b2c0f0b31fb > discourse > @uppy/aws-s3@3.0.6” has incorrect peer dependency “@uppy/core@^3.1.2”.
warning “workspace-aggregator-4a0ff1cd-82ba-483f-8207-6b2c0f0b31fb > discourse > @uppy/aws-s3-multipart@3.1.3” has incorrect peer dependency “@uppy/core@^3.1.2”.
warning “workspace-aggregator-4a0ff1cd-82ba-483f-8207-6b2c0f0b31fb > discourse > @uppy/xhr-upload@3.1.1” has incorrect peer dependency “@uppy/core@^3.1.2”.
warning “workspace-aggregator-4a0ff1cd-82ba-483f-8207-6b2c0f0b31fb > discourse-plugins > ember-this-fallback@0.4.0” has unmet peer dependency “ember-source@^3.28.11 || ^4.0.0”.
warning “workspace-aggregator-4a0ff1cd-82ba-483f-8207-6b2c0f0b31fb > discourse > @uppy/aws-s3 > @uppy/xhr-upload@3.3.0” has incorrect peer dependency “@uppy/core@^3.2.1”.
I, [2023-12-11T06:39:22.730680 #1] INFO – : yarn install v1.22.19
[1/5] Проверка package.json…
[2/5] Разрешение пакетов…
[3/5] Загрузка пакетов…
[4/5] Связывание зависимостей…
[5/5] Сборка новых пакетов…
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] Разрешение пакетов…
[2/4] Загрузка пакетов…
[3/4] Связывание зависимостей…
[4/4] Сборка новых пакетов…
$ ./run-patch-package
patch-package 8.0.0
Применение патчей…
babel-plugin-debug-macros@0.3.4 :check_mark:
content-tag@1.1.2 :check_mark:
ember-cli@5.0.0 :check_mark:
ember-this-fallback@0.4.0 (1 deprecation-name) :check_mark:
ember-this-fallback@0.4.0 (2 themes) :check_mark:
virtual-dom@2.1.1 :check_mark:
Done in 64.07s.
Done in 115.18s.
yarn cache v1.22.19
success Очищен кэш.
Done in 7.53s.

I, [2023-12-11T06:39:22.731495 #1] INFO – : > cd /var/www/discourse && su discourse -c ‘bundle config --local deployment true’
I, [2023-12-11T06:39:23.103216 #1] INFO – :
I, [2023-12-11T06:39:23.103337 #1] INFO – : > cd /var/www/discourse && su discourse -c ‘bundle config --local without “development test”’
I, [2023-12-11T06:39:23.331037 #1] INFO – : Вы заменяете текущее локальное значение without, которое в настоящее время равно “test:development”

I, [2023-12-11T06:39:23.331186 #1] INFO – : > cd /var/www/discourse && su discourse -c ‘bundle install --retry 3 --jobs 4’
Gem::Ext::BuildError: ERROR: Не удалось собрать нативное расширение gem.

current directory:
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rbtrace-0.5.0/ext
/usr/local/bin/ruby extconf.rb
– tar zxvfo msgpack-1.1.0.tar.gz
– env CFLAGS=nil LDFLAGS=nil CC=nil
– ./configure --disable-dependency-tracking --disable-shared --with-pic
–prefix=/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rbtrace-0.5.0/ext/dst/
–libdir=/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rbtrace-0.5.0/ext/dst/lib
*** extconf.rb failed ***
Не удалось создать Makefile по какой-то причине, вероятно, из-за отсутствия необходимых
библиотек и/или заголовочных файлов. Проверьте файл mkmf.log для получения дополнительных сведений. Возможно,
вам потребуются параметры конфигурации.

Предоставленные параметры конфигурации:
–with-opt-dir
–without-opt-dir
–with-opt-include
–without-opt-include=${opt-dir}/include
–with-opt-lib
–without-opt-lib=${opt-dir}/lib
–with-make-prog
–without-make-prog
–srcdir=.
–curdir
–ruby=/usr/local/bin/$(RUBY_BASE_NAME)
extconf.rb:6:in sys': ./configure --disable-dependency-tracking --disable-shared --with-pic --prefix=/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rbtrace-0.5.0/ext/dst/ --libdir=/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rbtrace-0.5.0/ext/dst/lib не удалось, пожалуйста, сообщите об этом на https://github.com/tmm1/rbtrace/issues (RuntimeError) from extconf.rb:42:in block (2 levels) in ’
from extconf.rb:34:in chdir' from extconf.rb:34:in block in ’
from extconf.rb:30:in chdir' from extconf.rb:30:in

Чтобы узнать, почему это расширение не удалось скомпилировать, пожалуйста, проверьте файл mkmf.log, который можно
найти здесь:

/var/www/discourse/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/rbtrace-0.5.0/mkmf.log

extconf не удался, код выхода 1

Файлы gem останутся установленными в
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rbtrace-0.5.0 для проверки.
Результаты записаны в
/var/www/discourse/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/rbtrace-0.5.0/gem_make.out

/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/ext/builder.rb:120:in run' /usr/local/lib/ruby/site_ruby/3.2.0/rubygems/ext/ext_conf_builder.rb:28:in build’
/usr/При обновлении произошла ошибка

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

Пожалуйста, помогите мне это исправить.

Gem::Ext::BuildError: ОШИБКА: Не удалось собрать нативное расширение гема.

текущая директория:
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rbtrace-0.5.0/ext

Это стандартная установка?

Насколько я помню, @RGJ, я создал это примерно шесть лет назад, но не припоминаю, чтобы делал что-то необычное в то время.

Я также всегда обновляюсь до последней версии примерно раз в неделю через командную строку, и это первый раз за все эти годы, когда обновление не удалось.

Я совершенно не знаком с Ruby. Что, по-твоему, означает это сообщение? :thinking:

Сообщение предполагает, что что-то устарело или не является стандартным, но оно загружает последний образ, так что это не имеет смысла.

Может ли это быть проблемой устаревшей ОС? :thinking:

В настоящее время используется:

NAME="Ubuntu"

VERSION="18.04.6 LTS (Bionic Beaver)"

ID=ubuntu

ID_LIKE=debian

PRETTY_NAME="Ubuntu 18.04.6 LTS"

VERSION_ID="18.04"

HOME_URL="https://www.ubuntu.com/"

SUPPORT_URL="https://help.ubuntu.com/"

BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"

PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"

VERSION_CODENAME=bionic

UBUNTU_CODENAME=bionic

Теперь мне придётся исходить из худшего сценария: мой Discourse не работает.

У меня есть копия моего последнего app.yml, и я только что загрузил резервную копию базы данных от昨晚 из S3.

Думаю, я выполню do-release-upgrade для обновления Ubuntu с версии 18.04.6 LTS до последней, а затем, полагаю, сделаю чистую установку, следуя руководству по адресу discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub.

После установки смогу ли я загрузить резервную копию базы данных объёмом 1,5 ГБ через панель администратора? :thinking:

Я уже несколько лет использую S3 для загрузки файлов, поэтому надеюсь, что весь загруженный контент пользователей всё ещё доступен там.

Есть ли какие-либо подводные камни? Что может отсутствовать в базе данных? Какие-то настройки? Файлы или другой контент?

:flushed:

Я сделал снимок (Digital Ocean) сервера в его текущем состоянии; обновление релиза уже в процессе.

Из любопытства: я обновлялся с https://github.com/discourse/discourse/compare/aadc104817bb0306856b4718f5c50fb481e77c16…4949d85c15be99abb3515e659ef674d58cc2c4c4, и вы увидите, что я отставал от актуальной версии всего на 128 коммитов / 11 дней.

Есть ли способ вернуть предыдущую версию через git pull и пересобрать систему, используя её? Просто чтобы снова запустить наше сообщество? :thinking:

Вы пробовали запустить ./launcher start app, чтобы попытаться восстановить предварительно собранный вариант?

Увы, в слепой панике из-за того, что всё не сработало сегодня утром, я удалил все контейнеры, которые не были запущены :pensive:

Я думаю, что при наличии информации из app.yml и вашей недавней резервной копии вы сможете восстановить работу на новом дроплете в кратчайшие сроки. :+1:

Ого!!

Кажется, я сам себе подкинул спасательный круг :scream:

Пока ждал обновления дистрибутива, я, оказывается, довольно хитро включил резервное копирование в Digital Ocean :scream:

Пора проверить, насколько они хороши :grimacing:

Ладно, тогда план Б…

Восстановить последний снимок Digital Ocean от 2023-12-04 (прошлой недели).

Загрузить резервную копию базы данных от вчера ночью (2023-12-11 в 02:00).

Думаю, это вернёт нас примерно к тому состоянию, в котором мы были сегодня в 06:00, когда всё пошло наперекосяк.

Раньше я никогда не восстанавливал базу данных.

Если резервное копирование/восстановление в Digital Ocean сработает и вернёт меня к состоянию прошлой недели (понедельник), могу ли я просто загрузить файл backup.tar.gz объёмом 1,5 ГБ напрямую через меню администратора для резервного копирования? Нужно ли сначала его распаковать или что-то ещё?

Стоит ли перевести сайт в режим только для чтения или сделать что-то ещё во время этого процесса?

Сервер запущен! (из снимка от прошлой понедельника)

Оказалось, что вы, очень умные люди из Discourse, встроили кнопку «Восстановить» прямо в меню администратора, так что мне даже не нужно загружать резервную копию :bowing_man:

:crossed_fingers:

:sob:

Возможно, потому что я перевел сайт в режим только для чтения перед попыткой восстановления.

Отключаю режим только для чтения и пытаюсь восстановить снова…

Нет, это тоже не сработало.

Журнал ошибок:

Я снова остановил приложение.

Если посмотреть на Sidekiq, то в очереди более 12 000 задач.

Кажется, система пытается повторно отправить запланированные email-объявления за прошлую неделю :man_facepalming:

Есть ли команда для отмены всех этих задач? Похоже, что эти очереди мешают выполнению восстановления.

Что я бы сделал, так это создал бы новый дроплет и последовал инструкции Перенос сайта Discourse на другой VPS с помощью rsync.
Но, думаю, у вас больше нет каталога /var/discourse, если только вы не сделали другую резервную копию до восстановления той, которую нашли?

Так что создайте новый дроплет, скопируйте файл app.yml и восстановите вчерашнюю резервную копию из S3. Это то, что нужно сделать.

Также, какая у вас версия Docker? У меня была неудачная пересборка с ошибкой, похожей на эту (я найду соответствующую тему, когда доберусь до ноутбука).

У меня есть полный снимок сервера за 7 дней назад, который я восстановил, и Discourse снова работает — но с базой данных, устаревшей на 7 дней.

Теперь я пытаюсь восстановить базу данных из резервной копии за прошлую ночь, которая хранится в S3.

Пока это происходит, создайте новый дроплет (что и нужно сделать, даже если он будет восстановлен).

Спасибо, Джей :slight_smile:

Я вручную остановил все задания Sidekiq, и похоже, что восстановление базы данных сейчас выполняется:

:crossed_fingers:

Если это тоже не сработает, я отключу всё и перейду к твоему варианту с rsync, спасибо :blush:

Вы хотите новую ОС. Я не доверяю обновлениям. Если вы хотите использовать новое оборудование, создайте новый droplet.

Не могу сказать, что я тоже фанат этого :slight_smile:

Еженедельная резервная копия от Digital Ocean, сделанная 7 дней назад, которую я восстановил, также вернула операционную систему Ubuntu 18.04, так что я снова нахожусь в состоянии до обновления.

Восстановление базы данных, похоже, прошло успешно.

Сейчас я просто делаю ещё один свежий снимок — на всякий случай.

Если всё это сработает и вернёт нас в онлайн, я смогу затем рассмотреть возможность переноса через rsync на последнюю версию ОС — но в своём собственном темпе, а не в панике :see_no_evil: