Upgrade von 3.1.x auf 3.2.0 hängt/schlägt fehl auf 1GB-Instanz

Jede Hilfe wäre dankbar. Ich versuche seit 8 Stunden, von 3.1.5 auf 3.2.0 zu aktualisieren.

Es scheint hier einfach hängen zu bleiben:

Sicherstellen, dass der Launcher auf dem neuesten Stand ist
Origin abrufen
Launcher ist auf dem neuesten Stand
Alten Container stoppen
+ /usr/bin/docker stop -t 600 app
app
2.0.20231218-0429: Pulling from discourse/base
Digest: sha256:468f70b9bb4c6d0c6c2bbb3efc1a5e12d145eae57bdb6946b7fe5558beb52dc1
Status: Image ist auf dem neuesten Stand für discourse/base:2.0.20231218-0429
docker.io/discourse/base:2.0.20231218-0429
/usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2024-02-01T05:20:13.663978 #1]  INFO -- : Lesen von stdin
I, [2024-02-01T05:20:13.670645 #1]  INFO -- : > locale-gen $LANG && update-locale
I, [2024-02-01T05:20:13.712975 #1]  INFO -- : Lokale Einstellungen werden generiert (dies kann eine Weile dauern)...
Generierung abgeschlossen.

I, [2024-02-01T05:20:13.713587 #1]  INFO -- : > mkdir -p /shared/postgres_run
I, [2024-02-01T05:20:13.717850 #1]  INFO -- :
I, [2024-02-01T05:20:13.718463 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2024-02-01T05:20:13.722273 #1]  INFO -- :
I, [2024-02-01T05:20:13.722901 #1]  INFO -- : > chmod 775 /shared/postgres_run
I, [2024-02-01T05:20:13.726117 #1]  INFO -- :
I, [2024-02-01T05:20:13.726724 #1]  INFO -- : > rm -fr /var/run/postgresql
I, [2024-02-01T05:20:13.730093 #1]  INFO -- :
I, [2024-02-01T05:20:13.730719 #1]  INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2024-02-01T05:20:13.734550 #1]  INFO -- :
I, [2024-02-01T05:20:13.735116 #1]  INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
2024/02/01 05:20:13 socat[18] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): No such file or directory
I, [2024-02-01T05:20:13.757786 #1]  INFO -- :
I, [2024-02-01T05:20:13.758259 #1]  INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2024-02-01T05:20:13.761231 #1]  INFO -- :
I, [2024-02-01T05:20:13.761705 #1]  INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2024-02-01T05:20:13.764603 #1]  INFO -- :
I, [2024-02-01T05:20:13.765030 #1]  INFO -- : > mkdir -p /shared/postgres_run/13-main.pg_stat_tmp
I, [2024-02-01T05:20:13.767619 #1]  INFO -- :
I, [2024-02-01T05:20:13.768243 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run/13-main.pg_stat_tmp
I, [2024-02-01T05:20:13.770687 #1]  INFO -- :
I, [2024-02-01T05:20:13.775750 #1]  INFO -- : Datei > /etc/service/postgres/run  chmod: +x  chown:
I, [2024-02-01T05:20:13.780586 #1]  INFO -- : Datei > /etc/service/postgres/log/run  chmod: +x  chown:
I, [2024-02-01T05:20:13.785496 #1]  INFO -- : Datei > /etc/runit/3.d/99-postgres  chmod: +x  chown:
I, [2024-02-01T05:20:13.790412 #1]  INFO -- : Datei > /root/upgrade_postgres  chmod: +x  chown:
I, [2024-02-01T05:20:13.791046 #1]  INFO -- : > chown -R root /var/lib/postgresql/13/main
I, [2024-02-01T05:20:16.705999 #1]  INFO -- :
I, [2024-02-01T05:20:16.706819 #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, [2024-02-01T05:20:16.709471 #1]  INFO -- :
I, [2024-02-01T05:20:16.709873 #1]  INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2024-02-01T05:20:16.748408 #1]  INFO -- :
I, [2024-02-01T05:20:16.749205 #1]  INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2024-02-01T05:20:16.752138 #1]  INFO -- :
I, [2024-02-01T05:20:16.752728 #1]  INFO -- : > /root/upgrade_postgres
I, [2024-02-01T05:20:16.759412 #1]  INFO -- :
I, [2024-02-01T05:20:16.759890 #1]  INFO -- : > rm /root/upgrade_postgres
I, [2024-02-01T05:20:16.762107 #1]  INFO -- :
I, [2024-02-01T05:20:16.764889 #1]  INFO -- : Ersetze data_directory = '/var/lib/postgresql/13/main' durch data_directory = '/shared/postgres_data' in /etc/postgresql/13/main/postgresql.conf
I, [2024-02-01T05:20:16.765803 #1]  INFO -- : Ersetze (?-mix:#?listen_addresses *=.*) durch listen_addresses = '*' in /etc/postgresql/13/main/postgresql.conf
I, [2024-02-01T05:20:16.766486 #1]  INFO -- : Ersetze (?-mix:#?synchronous_commit *=.*) durch synchronous_commit = $db_synchronous_commit in /etc/postgresql/13/main/postgresql.conf
I, [2024-02-01T05:20:16.767571 #1]  INFO -- : Ersetze (?-mix:#?shared_buffers *=.*) durch shared_buffers = $db_shared_buffers in /etc/postgresql/13/main/postgresql.conf
I, [2024-02-01T05:20:16.768666 #1]  INFO -- : Ersetze (?-mix:#?work_mem *=.*) durch work_mem = $db_work_mem in /etc/postgresql/13/main/postgresql.conf
I, [2024-02-01T05:20:16.769702 #1]  INFO -- : Ersetze (?-mix:#?default_text_search_config *=.*) durch default_text_search_config = '$db_default_text_search_config' in /etc/postgresql/13/main/postgresql.conf
I, [2024-02-01T05:20:16.770784 #1]  INFO -- : > install -d -m 0755 -o postgres -g postgres /shared/postgres_backup
I, [2024-02-01T05:20:16.777960 #1]  INFO -- :
I, [2024-02-01T05:20:16.778711 #1]  INFO -- : Ersetze (?-mix:#?checkpoint_segments *=.*) durch checkpoint_segments = $db_checkpoint_segments in /etc/postgresql/13/main/postgresql.conf
I, [2024-02-01T05:20:16.779400 #1]  INFO -- : Ersetze (?-mix:#?logging_collector *=.*) durch logging_collector = $db_logging_collector in /etc/postgresql/13/main/postgresql.conf
I, [2024-02-01T05:20:16.780719 #1]  INFO -- : Ersetze (?-mix:#?log_min_duration_statement *=.*) durch log_min_duration_statement = $db_log_min_duration_statement in /etc/postgresql/13/main/postgresql.conf
I, [2024-02-01T05:20:16.782507 #1]  INFO -- : Ersetze (?-mix:^#local +replication +postgres +peer$) durch local replication postgres  peer in /etc/postgresql/13/main/pg_hba.conf
I, [2024-02-01T05:20:16.783245 #1]  INFO -- : Ersetze (?-mix:^host.*all.*all.*127.*$) durch host all all 0.0.0.0/0 md5 in /etc/postgresql/13/main/pg_hba.conf
I, [2024-02-01T05:20:16.783845 #1]  INFO -- : Ersetze (?-mix:^host.*all.*all.*::1\/128.*$) durch host all all ::/0 md5 in /etc/postgresql/13/main/pg_hba.conf
I, [2024-02-01T05:20:16.784749 #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-02-01T05:20:16.786361 #1]  INFO -- : > sleep 5
2024-02-01 05:20:16.885 UTC [41] LOG:  starte PostgreSQL 13.13 (Debian 13.13-1.pgdg110+1) auf x86_64-pc-linux-gnu, kompiliert mit gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-Bit
2024-02-01 05:20:16.887 UTC [41] LOG:  lauscht auf IPv4-Adresse "0.0.0.0", Port 5432
2024-02-01 05:20:16.887 UTC [41] LOG:  lauscht auf IPv6-Adresse "::", Port 5432
2024-02-01 05:20:16.893 UTC [41] LOG:  lauscht auf Unix-Socket "/var/run/postgresql/.s.PGSQL.5432"
2024-02-01 05:20:16.902 UTC [44] LOG:  Datenbanksystem wurde am 2024-02-01 05:20:02 UTC heruntergefahren
2024-02-01 05:20:16.911 UTC [41] LOG:  Datenbanksystem ist bereit, Verbindungen anzunehmen
I, [2024-02-01T05:20:21.790669 #1]  INFO -- :
I, [2024-02-01T05:20:21.790891 #1]  INFO -- : > su postgres -c 'createdb discourse' || true
2024-02-01 05:20:21.897 UTC [54] postgres@postgres ERROR:  Datenbank "discourse" existiert bereits
2024-02-01 05:20:21.897 UTC [54] postgres@postgres STATEMENT:  CREATE DATABASE discourse;
createdb: Fehler: Datenbankerstellung fehlgeschlagen: ERROR:  Datenbank "discourse" existiert bereits
I, [2024-02-01T05:20:21.900341 #1]  INFO -- :
I, [2024-02-01T05:20:21.900879 #1]  INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
2024-02-01 05:20:21.987 UTC [58] postgres@discourse ERROR:  Rolle "discourse" existiert bereits
2024-02-01 05:20:21.987 UTC [58] postgres@discourse STATEMENT:  create user discourse;
ERROR:  Rolle "discourse" existiert bereits
I, [2024-02-01T05:20:21.990907 #1]  INFO -- :
I, [2024-02-01T05:20:21.991456 #1]  INFO -- : > su postgres -c 'psql discourse -c "grant all privileges on database discourse to discourse;"' || true
I, [2024-02-01T05:20:22.048297 #1]  INFO -- : GRANT

I, [2024-02-01T05:20:22.048988 #1]  INFO -- : > su postgres -c 'psql discourse -c "alter schema public owner to discourse;"'
I, [2024-02-01T05:20:22.106460 #1]  INFO -- : ALTER SCHEMA

I, [2024-02-01T05:20:22.107187 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists hstore;"'
NOTICE:  Erweiterung "hstore" existiert bereits, wird übersprungen
I, [2024-02-01T05:20:22.183367 #1]  INFO -- : CREATE EXTENSION

I, [2024-02-01T05:20:22.183889 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists pg_trgm;"'
NOTICE:  Erweiterung "pg_trgm" existiert bereits, wird übersprungen
I, [2024-02-01T05:20:22.240624 #1]  INFO -- : CREATE EXTENSION

I, [2024-02-01T05:20:22.241181 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists vector;"'
NOTICE:  Erweiterung "vector" existiert bereits, wird übersprungen
I, [2024-02-01T05:20:22.297658 #1]  INFO -- : CREATE EXTENSION

I, [2024-02-01T05:20:22.298255 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists hstore;"'
NOTICE:  Erweiterung "hstore" existiert bereits, wird übersprungen
I, [2024-02-01T05:20:22.356472 #1]  INFO -- : CREATE EXTENSION

I, [2024-02-01T05:20:22.356991 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists pg_trgm;"'
NOTICE:  Erweiterung "pg_trgm" existiert bereits, wird übersprungen
I, [2024-02-01T05:20:22.414056 #1]  INFO -- : CREATE EXTENSION

I, [2024-02-01T05:20:22.414618 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists vector;"'
NOTICE:  Erweiterung "vector" existiert bereits, wird übersprungen
I, [2024-02-01T05:20:22.470035 #1]  INFO -- : CREATE EXTENSION

I, [2024-02-01T05:20:22.470658 #1]  INFO -- : > sudo -u postgres psql discourse
I, [2024-02-01T05:20:22.475733 #1]  INFO -- : update pg_database set encoding = pg_char_to_encoding('UTF8') where datname = 'discourse' AND encoding = pg_char_to_encoding('SQL_ASCII');

I, [2024-02-01T05:20:22.567511 #1]  INFO -- : Datei > /var/lib/postgresql/take-database-backup  chmod: +x  chown: postgres:postgres
I, [2024-02-01T05:20:22.572125 #1]  INFO -- : Datei > /var/spool/cron/crontabs/postgres  chmod:   chown:
I, [2024-02-01T05:20:22.572526 #1]  INFO -- : > echo postgres installed!
I, [2024-02-01T05:20:22.575793 #1]  INFO -- : postgres installed!

I, [2024-02-01T05:20:22.580912 #1]  INFO -- : Datei > /etc/service/redis/run  chmod: +x  chown:
I, [2024-02-01T05:20:22.585785 #1]  INFO -- : Datei > /etc/service/redis/log/run  chmod: +x  chown:
I, [2024-02-01T05:20:22.590830 #1]  INFO -- : Datei > /etc/runit/3.d/10-redis  chmod: +x  chown:
I, [2024-02-01T05:20:22.593112 #1]  INFO -- : Ersetze daemonize yes durch  in /etc/redis/redis.conf
I, [2024-02-01T05:20:22.594012 #1]  INFO -- : Ersetze (?-mix:^pidfile.*$) durch  in /etc/redis/redis.conf
I, [2024-02-01T05:20:22.594826 #1]  INFO -- : > install -d -m 0755 -o redis -g redis /shared/redis_data
I, [2024-02-01T05:20:22.597926 #1]  INFO -- :
I, [2024-02-01T05:20:22.598727 #1]  INFO -- : Ersetze (?-mix:^logfile.*$) durch logfile "" in /etc/redis/redis.conf
I, [2024-02-01T05:20:22.599588 #1]  INFO -- : Ersetze (?-mix:^bind .*$) durch  in /etc/redis/redis.conf
I, [2024-02-01T05:20:22.601300 #1]  INFO -- : Ersetze (?-mix:^dir .*$) durch dir /shared/redis_data in /etc/redis/redis.conf
I, [2024-02-01T05:20:22.603062 #1]  INFO -- : Ersetze (?-mix:^protected-mode yes) durch protected-mode no in /etc/redis/redis.conf
I, [2024-02-01T05:20:22.604759 #1]  INFO -- : Ersetze # io-threads 4 durch io-threads $redis_io_threads in /etc/redis/redis.conf
I, [2024-02-01T05:20:22.606503 #1]  INFO -- : > echo redis installed
I, [2024-02-01T05:20:22.609035 #1]  INFO -- : redis installed

I, [2024-02-01T05:20:22.609661 #1]  INFO -- : > cat /etc/redis/redis.conf | grep logfile
I, [2024-02-01T05:20:22.614668 #1]  INFO -- : logfile ""

I, [2024-02-01T05:20:22.615160 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2024-02-01T05:20:22.616826 #1]  INFO -- : > sleep 10
110:C 01 Feb 2024 05:20:22.631 # oO0OoO0OoO0Oo Redis wird gestartet oO0OoO0OoO0Oo
110:C 01 Feb 2024 05:20:22.631 # Redis version=7.0.7, bits=64, commit=00000000, modified=0, pid=110, gerade gestartet
110:C 01 Feb 2024 05:20:22.631 # Konfiguration geladen
110:M 01 Feb 2024 05:20:22.632 * monotoner Taktgeber: POSIX clock_gettime
110:M 01 Feb 2024 05:20:22.633 * Ausführungsmodus=standalone, Port=6379.
110:M 01 Feb 2024 05:20:22.633 # Server initialisiert
110:M 01 Feb 2024 05:20:22.634 # WARNUNG Memory overcommit muss aktiviert sein! Ohne dies kann ein Hintergrundspeichern oder Replikation bei geringem Speicherplatz fehlschlagen. Wenn deaktiviert, kann dies auch zu Fehlern ohne geringen Speicherplatz führen, siehe https://github.com/jemalloc/jemalloc/issues/1328. Um dieses Problem zu beheben, füge 'vm.overcommit_memory = 1' zu /etc/sysctl.conf hinzu und starte neu oder führe den Befehl 'sysctl vm.overcommit_memory=1' aus, damit dies wirksam wird.
110:M 01 Feb 2024 05:20:22.634 # WARNUNG Dein System ist so konfiguriert, dass es den 'xen'-Clocksource verwendet, was zu einer verringerten Leistung führen könnte. Prüfe das Ergebnis des [slow-clocksource]-Systemchecks: führe 'redis-server --check-system' aus, um zu prüfen, ob die System-Clocksource die Leistung nicht beeinträchtigt.
110:M 01 Feb 2024 05:20:22.635 * Lade RDB, erstellt von Version 7.0.7
110:M 01 Feb 2024 05:20:22.635 * RDB-Alter 28 Sekunden
110:M 01 Feb 2024 05:20:22.635 * RDB-Speichernutzung beim Erstellen 12.85 Mb
110:M 01 Feb 2024 05:20:22.670 * RDB-Laden abgeschlossen, geladene Schlüssel: 11479, abgelaufene Schlüssel: 6.
110:M 01 Feb 2024 05:20:22.670 * DB von Festplatte geladen: 0.035 Sekunden
110:M 01 Feb 2024 05:20:22.670 * Bereit, Verbindungen anzunehmen
I, [2024-02-01T05:20:32.621081 #1]  INFO -- :
I, [2024-02-01T05:20:32.621808 #1]  INFO -- : > thpoff echo "thpoff is installed!"
I, [2024-02-01T05:20:32.626389 #1]  INFO -- : thpoff is installed!

I, [2024-02-01T05:20:32.626901 #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-02-01T05:20:32.707287 #1]  INFO -- :
I, [2024-02-01T05:20:32.707923 #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-02-01T05:20:32.788125 #1]  INFO -- :
I, [2024-02-01T05:20:32.788819 #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-02-01T05:20:32.868839 #1]  INFO -- :
I, [2024-02-01T05:20:32.869502 #1]  INFO -- : > rm -f /etc/cron.d/anacron
I, [2024-02-01T05:20:32.872477 #1]  INFO -- :
I, [2024-02-01T05:20:32.875792 #1]  INFO -- : Datei > /etc/cron.d/anacron  chmod:   chown:
I, [2024-02-01T05:20:32.882091 #1]  INFO -- : Datei > /etc/runit/1.d/copy-env  chmod: +x  chown:
I, [2024-02-01T05:20:32.887278 #1]  INFO -- : Datei > /etc/service/unicorn/run  chmod: +x  chown:
I, [2024-02-01T05:20:32.892443 #1]  INFO -- : Datei > /etc/service/nginx/run  chmod: +x  chown:
I, [2024-02-01T05:20:32.897678 #1]  INFO -- : Datei > /etc/runit/3.d/01-nginx  chmod: +x  chown:
I, [2024-02-01T05:20:32.902952 #1]  INFO -- : Datei > /etc/runit/3.d/02-unicorn  chmod: +x  chown:
I, [2024-02-01T05:20:32.903394 #1]  INFO -- : Ersetze # postgres durch sv start postgres || exit 1 in /etc/service/unicorn/run
I, [2024-02-01T05:20:32.903939 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2024-02-01T05:20:32.906369 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git reset --hard
137:C 01 Feb 2024 05:20:32.915 # oO0OoO0OoO0Oo Redis wird gestartet oO0OoO0OoO0Oo
137:C 01 Feb 2024 05:20:32.918 # Redis version=7.0.7, bits=64, commit=00000000, modified=0, pid=137, gerade gestartet
137:C 01 Feb 2024 05:20:32.918 # Konfiguration geladen
137:M 01 Feb 2024 05:20:32.919 * monotoner Taktgeber: POSIX clock_gettime
137:M 01 Feb 2024 05:20:32.920 # Warnung: Konnte keinen Server-TCP-Listening-Socket *:6379 erstellen: bind: Adresse bereits in Gebrauch
137:M 01 Feb 2024 05:20:32.920 # Lauschen auf Port 6379 (TCP) fehlgeschlagen, wird abgebrochen.
Updating files: 100% (33715/33715), done.
I, [2024-02-01T05:20:39.803997 #1]  INFO -- : HEAD ist jetzt bei 6ab1a19e9 DEV: Convert min_trust_level_to_allow_invite to groups (#24893)

I, [2024-02-01T05:20:39.804645 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git clean -f
I, [2024-02-01T05:20:40.031462 #1]  INFO -- :
I, [2024-02-01T05:20:40.032125 #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 stable
      git fetch --depth 1 origin stable
  else
      git fetch --tags --prune-tags --prune --force origin
  fi
'
From https://github.com/discourse/discourse
 - [deleted]             (none)     -> origin/0-drop-code
 - [deleted]             (none)     -> origin/bulk-button-class
 - [deleted]             (none)     -> origin/dependabot/bundler/excon-0.108.0
 - [deleted]             (none)     -> origin/dependabot/bundler/hashdiff-1.1.0
 - [deleted]             (none)     -> origin/dependabot/bundler/parallel-1.24.0
 - [deleted]             (none)     -> origin/dependabot/bundler/rubocop-discourse-3.6.0
 - [deleted]             (none)     -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/drop-target-2.0.2
 - [deleted]             (none)     -> origin/dev/add-new-chat-metrics
 - [deleted]             (none)     -> origin/dev/allow-chat-mentions-to-have-several-notifications
 - [deleted]             (none)     -> origin/dev/convert-min-trust-level-to-create-tag-to-group
 - [deleted]             (none)     -> origin/dev/convert-min-trust-level-to-ignore-to-groups
 - [deleted]             (none)     -> origin/dev/rethink-mass-mentions-polymorphic
 - [deleted]             (none)     -> origin/feature/migrations-schema-generator
 - [deleted]             (none)     -> origin/fix-join-filter-upload
 - [deleted]             (none)     -> origin/fix-modal-flash-minor
 - [deleted]             (none)     -> origin/global-notice-reactive
 - [deleted]             (none)     -> origin/labeler
 - [deleted]             (none)     -> origin/low-ram-help
 - [deleted]             (none)     -> origin/multi-invite
 - [deleted]             (none)     -> origin/table-builder-modal-modifier
 - [deleted]             (none)     -> origin/wip_categories
 - [deleted]             (none)     -> origin/wizard-split
   6ab1a19e9..969ab0fd6  main                    -> origin/main
 * [new branch]          0-category-reorder      -> origin/0-category-reorder
 * [new branch]          0-ember-bump            -> origin/0-ember-bump
 * [new branch]          0-event-helper          -> origin/0-event-helper
 * [new branch]          0-extend-native         -> origin/0-extend-native
 * [new branch]          0-rev                   -> origin/0-rev
 * [new branch]          add-api-for-forced-auth -> origin/add-api-for-forced-auth
 * [new branch]          amend-visit-copy        -> origin/amend-visit-copy
 * [new branch]          asciinema-iframe        -> origin/asciinema-iframe
 * [new branch]          chat/original-message-link -> origin/chat/original-message-link
 * [new branch]          convert-header-to-glimmer -> origin/convert-header-to-glimmer
 * [new branch]          decorator-transforms    -> origin/decorator-transforms
 * [new branch]          dependabot/bundler/omniauth-2.0.0 -> origin/dependabot/bundler/omniauth-2.0.0
 * [new branch]          dependabot/bundler/parallel_tests-4.4.0 -> origin/dependabot/bundler/parallel_tests-4.4.0
 * [new branch]          dev-convert-topic-map-expanded-widget-to-component -> origin/dev-convert-topic-map-expanded-widget-to-component
 * [new branch]          dev/check-whether-online-user-ids-may-be-memoized-between-job-runs -> origin/dev/check-whether-online-user-ids-may-be-memoized-between-job-runs
 * [new branch]          dev/drop-the-user-id-column-from-chat-mentions -> origin/dev/drop-the-user-id-column-from-chat-mentions
 + e0c0191bb...feb00e04c dev/dry-up-user-status-serializers -> origin/dev/dry-up-user-status-serializers  (forced update)
 * [new branch]          dev/experiment-theme-settings-free-ui -> origin/dev/experiment-theme-settings-free-ui
 * [new branch]          dev/make-admins-tl4-in-tests -> origin/dev/make-admins-tl4-in-tests
 * [new branch]          dev/promote-plugin-post-deploy-migrations -> origin/dev/promote-plugin-post-deploy-migrations
 * [new branch]          dev/proof-of-concept-rewriting-mentions-notification-logic -> origin/dev/proof-of-concept-rewriting-mentions-notification-logic
 * [new branch]          dev_category_order_database -> origin/dev_category_order_database
 * [new branch]          dev_update_category_position -> origin/dev_update_category_position
 * [new branch]          ellaestigoy-patch-2     -> origin/ellaestigoy-patch-2
 * [new branch]          fast-edit-expand-regex  -> origin/fast-edit-expand-regex
 * [new branch]          feature/add-new-illegal-flag-reason -> origin/feature/add-new-illegal-flag-reason
 * [new branch]          feature/custom-date-range -> origin/feature/custom-date-range
 * [new branch]          feature/paste-upload-on-first-upload-input-templates -> origin/feature/paste-upload-on-first-upload-input-templates
 * [new branch]          feature_async_load_colors -> origin/feature_async_load_colors
 * [new branch]          fix-email-category-badge -> origin/fix-email-category-badge
 * [new branch]          fix_category_chooser    -> origin/fix_category_chooser
 * [new branch]          fix_in_any_groups       -> origin/fix_in_any_groups
 * [new branch]          fix_preload_sidebar_categories -> origin/fix_preload_sidebar_categories
 * [new branch]          fix_reviewable_translation -> origin/fix_reviewable_translation
   7f2bdca65..b851b879c  generic-import-latest   -> origin/generic-import-latest
 * [new branch]          hijacks                 -> origin/hijacks
 * [new branch]          issue/avatar-upload-permission-serialize -> origin/issue/avatar-upload-permission-serialize
 * [new branch]          issue/run-admin-sidebar-init-after-logs-notice -> origin/issue/run-admin-sidebar-init-after-logs-notice
 + 90a3535b7...e6e64cfd5 migrations-convert      -> origin/migrations-convert  (forced update)
 + 0fa691496...b0f74a188 plugin-extra-js         -> origin/plugin-extra-js  (forced update)
 * [new branch]          promote-migration-tweak -> origin/promote-migration-tweak
 * [new branch]          revert-25009-dev/convert-min-trust-to-allow-self-wiki-to-groups -> origin/revert-25009-dev/convert-min-trust-to-allow-self-wiki-to-groups
 * [new branch]          revert-bulk-topic-actions -> origin/revert-bulk-topic-actions
 * [new branch]          sidebar-above-outlet    -> origin/sidebar-above-outlet
 * [new branch]          site-logo-height        -> origin/site-logo-height
 * [new branch]          soft-load-topic-results -> origin/soft-load-topic-results
   d7f7f79b6..968b1a57e  stable                  -> origin/stable
 * [new branch]          support-reset-bump-date-post-id -> origin/support-reset-bump-date-post-id
   6ab1a19e9..969ab0fd6  tests-passed            -> origin/tests-passed
 * [new branch]          unhide_lazy_load_categories -> origin/unhide_lazy_load_categories
 * [new branch]          universal-nonce         -> origin/universal-nonce
 * [new branch]          unread-mobile-indicator -> origin/unread-mobile-indicator
 * [new branch]          virtual-scroll-list     -> origin/virtual-scroll-list
 t [tag update]          beta                    -> beta
 t [tag update]          latest-release          -> latest-release
 * [new tag]             v3.1.4                  -> v3.1.4
 * [new tag]             v3.1.5                  -> v3.1.5
 * [new tag]             v3.2.0                  -> v3.2.0
 * [new tag]             v3.2.0.beta4            -> v3.2.0.beta4
 * [new tag]             v3.2.0.beta5            -> v3.2.0.beta5
I, [2024-02-01T05:20:40.935200 #1]  INFO -- :
I, [2024-02-01T05:20:40.935686 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse bash -c '
  set -o errexit
  if [[ $(git symbolic-ref --short HEAD) == stable ]] ; then
      git pull
  else
      git -c advice.detachedHead=false checkout stable
  fi
'
Switched to a new branch 'stable'
I, [2024-02-01T05:20:44.064865 #1]  INFO -- : Branch 'stable' set up to track remote branch 'stable' from 'origin'.

I, [2024-02-01T05:20:44.065354 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git config user.discourse-version stable
I, [2024-02-01T05:20:44.077044 #1]  INFO -- :
I, [2024-02-01T05:20:44.077436 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp
I, [2024-02-01T05:20:44.085161 #1]  INFO -- :
I, [2024-02-01T05:20:44.085555 #1]  INFO -- : > cd /var/www/discourse && chown discourse:www-data tmp
I, [2024-02-01T05:20:44.090473 #1]  INFO -- :
I, [2024-02-01T05:20:44.090945 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/pids
I, [2024-02-01T05:20:44.094272 #1]  INFO -- :
I, [2024-02-01T05:20:44.094646 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/sockets
I, [2024-02-01T05:20:44.097962 #1]  INFO -- :
I, [2024-02-01T05:20:44.098333 #1]  INFO -- : > cd /var/www/discourse && touch tmp/.gitkeep
I, [2024-02-01T05:20:44.102920 #1]  INFO -- :
I, [2024-02-01T05:20:44.103294 #1]  INFO -- : > cd /var/www/discourse && mkdir -p                    /shared/log/rails
I, [2024-02-01T05:20:44.106489 #1]  INFO -- :
I, [2024-02-01T05:20:44.106964 #1]  INFO -- : > cd /var/www/discourse && bash -c "touch -a           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log"
I, [2024-02-01T05:20:44.112554 #1]  INFO -- :
I, [2024-02-01T05:20:44.112953 #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-02-01T05:20:44.119868 #1]  INFO -- :
I, [2024-02-01T05:20:44.120247 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/{uploads,backups}"
I, [2024-02-01T05:20:44.125723 #1]  INFO -- :
I, [2024-02-01T05:20:44.126103 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/{uploads,backups} /var/www/discourse/public"
I, [2024-02-01T05:20:44.130710 #1]  INFO -- :
I, [2024-02-01T05:20:44.131085 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/tmp/{backups,restores}"
I, [2024-02-01T05:20:44.136397 #1]  INFO -- :
I, [2024-02-01T05:20:44.136900 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/tmp/{backups,restores} /var/www/discourse/tmp"
I, [2024-02-01T05:20:44.141456 #1]  INFO -- :
I, [2024-02-01T05:20:44.141832 #1]  INFO -- : > cd /var/www/discourse && chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp
I, [2024-02-01T05:20:44.267143 #1]  INFO -- :
I, [2024-02-01T05:20:44.267732 #1]  INFO -- : > cd /var/www/discourse && [ ! -d public/plugins ] || find public/plugins/ -maxdepth 1 -xtype l -delete
I, [2024-02-01T05:20:44.270260 #1]  INFO -- :
I, [2024-02-01T05:20:44.271569 #1]  INFO -- : Ersetze # redis durch sv start redis || exit 1 in /etc/service/unicorn/run
I, [2024-02-01T05:20:44.273289 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/docker_manager.git
Cloning into 'docker_manager'...
I, [2024-02-01T05:20:45.047892 #1]  INFO -- :
I, [2024-02-01T05:20:45.048485 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-voting.git
Cloning into 'discourse-voting'...
I, [2024-02-01T05:20:45.349517 #1]  INFO -- :
I, [2024-02-01T05:20:45.350128 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-solved.git
Cloning into 'discourse-solved'...
I, [2024-02-01T05:20:45.696361 #1]  INFO -- :
I, [2024-02-01T05:20:45.696958 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-policy.git
Cloning into 'discourse-policy'...
I, [2024-02-01T05:20:45.985549 #1]  INFO -- :
I, [2024-02-01T05:20:45.986116 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-adplugin.git
Cloning into 'discourse-adplugin'...
I, [2024-02-01T05:20:46.333531 #1]  INFO -- :
I, [2024-02-01T05:20:46.334121 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-data-explorer.git
Cloning into 'discourse-data-explorer'...
I, [2024-02-01T05:20:46.684891 #1]  INFO -- :
I, [2024-02-01T05:20:46.685512 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/communiteq/discourse-suppress-category-from-latest.git
Cloning into 'discourse-suppress-category-from-latest'...
I, [2024-02-01T05:20:46.860067 #1]  INFO -- :
I, [2024-02-01T05:20:46.860646 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-bbcode-color
Cloning into 'discourse-bbcode-color'...
I, [2024-02-01T05:20:47.089640 #1]  INFO -- :
I, [2024-02-01T05:20:47.090378 #1]  INFO -- : > cp /var/www/discourse/config/nginx.sample.conf /etc/nginx/conf.d/discourse.conf
I, [2024-02-01T05:20:47.099746 #1]  INFO -- :
I, [2024-02-01T05:20:47.100326 #1]  INFO -- : > rm /etc/nginx/sites-enabled/default
I, [2024-02-01T05:20:47.103575 #1]  INFO -- :
I, [2024-02-01T05:20:47.104073 #1]  INFO -- : > mkdir -p /var/nginx/cache
I, [2024-02-01T05:20:47.107202 #1]  INFO -- :
I, [2024-02-01T05:20:47.108186 #1]  INFO -- : Ersetze pid /run/nginx.pid; durch daemon off; in /etc/nginx/nginx.conf
I, [2024-02-01T05:20:47.109528 #1]  INFO -- : Ersetze (?m-ix:upstream[^\}]+\}) durch upstream discourse { server 127.0.0.1:3000; } in /etc/nginx/conf.d/discourse.conf
I, [2024-02-01T05:20:47.110130 #1]  INFO -- : Ersetze (?-mix:server_name.+$) durch server_name _ ; in /etc/nginx/conf.d/discourse.conf
I, [2024-02-01T05:20:47.110992 #1]  INFO -- : Ersetze (?-mix:client_max_body_size.+$) durch client_max_body_size $upload_size ; in /etc/nginx/conf.d/discourse.conf
I, [2024-02-01T05:20:47.111810 #1]  INFO -- : Ersetze (?-mix:worker_connections.+$) durch worker_connections $nginx_worker_connections ; in /etc/nginx/nginx.conf
I, [2024-02-01T05:20:47.112296 #1]  INFO -- : > echo "done configuring web"
I, [2024-02-01T05:20:47.114305 #1]  INFO -- : done configuring web

I, [2024-02-01T05:20:47.114863 #1]  INFO -- : > cd /var/www/discourse && gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,""); print $0 }' Gemfile.lock)
I, [2024-02-01T05:20:48.019548 #1]  INFO -- : Successfully installed bundler-2.5.3
1 gem installed

I, [2024-02-01T05:20:48.020208 #1]  INFO -- : > cd /var/www/discourse && find /var/www/discourse ! -user discourse -exec chown discourse {} \+
I, [2024-02-01T05:20:56.712671 #1]  INFO -- :
I, [2024-02-01T05:20:56.723363 #1]  INFO -- : > cd /var/www/discourse && if [ "stable" != "tests-passed" ]; then
  rm -rf app/assets/javascripts/node_modules
fi
I, [2024-02-01T05:20:59.502523 #1]  INFO -- :
I, [2024-02-01T05:20:59.503242 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'yarn install --frozen-lockfile && yarn cache clean'
^[[D^[[D^[[Dwarning "@discourse/lint-configs > eslint-plugin-ember > ember-eslint-parser@0.2.5" hat eine unerfüllte Peer-Dependency "@typescript-eslint/parser@^6.15.0".
warning "@discourse/lint-configs > eslint-plugin-ember > ember-eslint-parser@0.2.5" hat eine falsche Peer-Dependency "typescript@^5.3.3".
warning " > @glint/environment-ember-loose@1.3.0" hat eine unerfüllte Peer-Dependency "@glimmer/component@^1.1.2".
warning Resolution field "unset-value@2.0.1" ist inkompatibel mit der angeforderten Version "unset-value@^1.0.0"
warning Pattern ["wrap-ansi@^7.0.0"] versucht, im selben Zielverzeichnis "/home/discourse/.cache/yarn/v6/npm-wrap-ansi-cjs-7.0.0-67e145cff510a6a6984bdf1152911d69d2eb9e43-integrity/node_modules/wrap-ansi-cjs" zu entpacken wie Pattern ["wrap-ansi-cjs@npm:wrap-ansi@^7.0.0"]. Dies kann zu nicht-deterministischem Verhalten führen, wird übersprungen.
warning " > discourse-markdown-it@1.0.0" hat eine unerfüllte Peer-Dependency "xss@*".
warning "workspace-aggregator-ca265ca6-43f3-4f9e-bc1f-e2610715a50c > discourse > @uppy/aws-s3@3.0.6" hat eine falsche Peer-Dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-ca265ca6-43f3-4f9e-bc1f-e2610715a50c > discourse > @uppy/aws-s3-multipart@3.1.3" hat eine falsche Peer-Dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-ca265ca6-43f3-4f9e-bc1f-e2610715a50c > discourse > @uppy/xhr-upload@3.1.1" hat eine falsche Peer-Dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-ca265ca6-43f3-4f9e-bc1f-e2610715a50c > discourse > ember-router-service-refresh-polyfill@1.1.0" hat eine falsche Peer-Dependency "ember-source@^3.4 || 4".
warning "workspace-aggregator-ca265ca6-43f3-4f9e-bc1f-e2610715a50c > discourse-plugins > ember-this-fallback@0.4.0" hat eine unerfüllte Peer-Dependency "ember-source@^3.28.11 || ^4.0.0".
warning "workspace-aggregator-ca265ca6-43f3-4f9e-bc1f-e2610715a50c > admin > ember-source > router_js@8.0.3" hat eine unerfüllte Peer-Dependency "rsvp@^4.8.5".
warning "workspace-aggregator-ca265ca6-43f3-4f9e-bc1f-e2610715a50c > discourse > @uppy/aws-s3 > @uppy/xhr-upload@3.3.0" hat eine falsche Peer-Dependency "@uppy/core@^3.2.1".
I, [2024-02-01T05:23:59.990567 #1]  INFO -- : yarn install v1.22.19
[1/5] Validierung von package.json...
[2/5] Auflösung von Paketen...
[3/5] Abrufen von Paketen...
[4/5] Verknüpfung von Abhängigkeiten...
[5/5] Erstellen neuer Pakete...
$ 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] Auflösung von Paketen...
[2/4] Abrufen von Paketen...
[3/4] Verknüpfung von Abhängigkeiten...
[4/4] Erstellen neuer Pakete...
$ ./run-patch-package
patch-package 8.0.0
Patches werden angewendet...
@ember/test-helpers@2.9.4 ✔
babel-plugin-debug-macros@0.3.4 ✔
content-tag@1.2.2 ✔
ember-cli@5.0.0 ✔
ember-this-fallback@0.4.0 (1 deprecation-name) ✔
ember-this-fallback@0.4.0 (2 themes) ✔
ember-this-fallback@0.4.0 (3 exclude-strict-mode) ✔
virtual-dom@2.1.1 ✔
Fertig in 87,51 s.
Fertig in 164,47 s.
yarn cache v1.22.19
success Cache gelöscht.
Fertig in 14,71 s.

I, [2024-02-01T05:23:59.999517 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle config --local deployment true'
I, [2024-02-01T05:24:00.428628 #1]  INFO -- :
I, [2024-02-01T05:24:00.429260 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle config --local without "development test"'
I, [2024-02-01T05:24:00.632752 #1]  INFO -- : Du ersetzt den aktuellen lokalen Wert von without, der derzeit "test:development" ist.

I, [2024-02-01T05:24:00.633369 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle install --retry 3 --jobs 4'
I, [2024-02-01T05:24:51.790059 #1]  INFO -- : Abrufen der Gem-Metadaten von https://rubygems.org/.........
Abrufen von concurrent-ruby 1.2.3
Abrufen von minitest 5.21.2
Abrufen von bigdecimal 3.1.6
Abrufen von cbor 0.5.9.8
Installation von minitest 5.21.2
Installation von bigdecimal 3.1.6 mit nativen Erweiterungen
Installation von cbor 0.5.9.8 mit nativen Erweiterungen
Installation von concurrent-ruby 1.2.3
Abrufen von excon 0.109.0
Installation von excon 0.109.0
Abrufen von fastimage 2.3.0
Installation von fastimage 2.3.0
Abrufen von highline 3.0.1
Abrufen von google-protobuf 3.25.2 (x86_64-linux)
Installation von highline 3.0.1
Abrufen von image_size 3.4.0
Installation von image_size 3.4.0
Installation von google-protobuf 3.25.2 (x86_64-linux)
Abrufen von regexp_parser 2.9.0
Installation von regexp_parser 2.9.0
Abrufen von logster 2.16.0
Abrufen von stackprof 0.2.26
Installation von stackprof 0.2.26 mit nativen Erweiterungen
Installation von logster 2.16.0
Abrufen von nokogiri 1.16.0 (x86_64-linux)
Installation von nokogiri 1.16.0 (x86_64-linux)
Abrufen von rack-protection 3.2.0
Installation von rack-protection 3.2.0
Abrufen von bootsnap 1.17.1
Installation von bootsnap 1.17.1 mit nativen Erweiterungen
Abrufen von net-http 0.4.1
Installation von net-http 0.4.1
Abrufen von sass-embedded 1.70.0 (x86_64-linux-gnu)
Installation von sass-embedded 1.70.0 (x86_64-linux-gnu)
Abrufen von puma 6.4.2
Installation von puma 6.4.2 mit nativen Erweiterungen
Abrufen von rbtrace 0.5.1
Installation von rbtrace 0.5.1 mit nativen Erweiterungen
Abrufen von net-imap 0.4.9.1
Installation von net-imap 0.4.9.1
Abrufen von net-smtp 0.4.0.1
Installation von net-smtp 0.4.0.1
Abrufen von faraday-net_http 3.1.0
Installation von faraday-net_http 3.1.0
Abrufen von activesupport 7.0.8
Installation von activesupport 7.0.8
Abrufen von tzinfo-data 1.2023.4
Installation von tzinfo-data 1.2023.4
Abrufen von sassc-embedded 1.70.0
Installation von sassc-embedded 1.70.0
Abrufen von faraday 2.9.0
Installation von faraday 2.9.0
Abrufen von activemodel 7.0.8
Installation von activemodel 7.0.8
Abrufen von actionview 7.0.8
Installation von actionview 7.0.8
Abrufen von activejob 7.0.8
Installation von activejob 7.0.8
Abrufen von activerecord 7.0.8
Installation von activerecord 7.0.8
Abrufen von actionpack 7.0.8
Installation von actionpack 7.0.8
Abrufen von actionmailer 7.0.8
Installation von actionmailer 7.0.8
Abrufen von railties 7.0.8
Installation von railties 7.0.8
Bundle abgeschlossen! 138 Gemfile-Abhängigkeiten, 170 Gems sind jetzt installiert.
Gems in den Gruppen 'development' und 'test' wurden nicht installiert.
Gebündelte Gems sind in `./vendor/bundle` installiert.

I, [2024-02-01T05:24:51.794263 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'LOAD_PLUGINS=0 bundle exec rake plugin:pull_compatible_all'
I, [2024-02-01T05:24:57.793104 #1]  INFO -- : discourse-adplugin ist bereits auf der neuesten kompatiblen Version
discourse-bbcode-color ist bereits auf der neuesten kompatiblen Version
discourse-data-explorer ist bereits auf der neuesten kompatiblen Version
discourse-policy ist bereits auf der neuesten kompatiblen Version
discourse-solved ist bereits auf der neuesten kompatiblen Version
discourse-suppress-category-from-latest ist bereits auf der neuesten kompatiblen Version
discourse-voting ist bereits auf der neuesten kompatiblen Version
docker_manager ist bereits auf der neuesten kompatiblen Version

I, [2024-02-01T05:24:57.796053 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
Plugin-Name ist 'discourse-topic-voting', aber das Plugin-Verzeichnis heißt 'discourse-voting'
I, [2024-02-01T05:25:07.163248 #1]  INFO -- :
I, [2024-02-01T05:25:07.166699 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile'
Plugin-Name ist 'discourse-topic-voting', aber das Plugin-Verzeichnis heißt 'discourse-voting'
Node.js heap_size_limit (487,0) ist kleiner als 2048 MB. Setze --max-old-space-size=2048.
110:M 01 Feb 2024 05:25:23.049 * 100 Änderungen in 300 Sekunden. Speichern...
110:M 01 Feb 2024 05:25:23.053 * Hintergrundspeicherung gestartet von pid 3562
3562:C 01 Feb 2024 05:25:23.932 * DB auf Festplatte gespeichert
3562:C 01 Feb 2024 05:25:23.933 * Fork CoW für RDB: aktuell 1 MB, Peak 1 MB, Durchschnitt 0 MB
110:M 01 Feb 2024 05:25:23.955 * Hintergrundspeicherung erfolgreich beendet

110:M 01 Feb 2024 06:20:24.614 * Replikations-Backlog nach 3600 Sekunden ohne verbundene Replikate freigegeben.

Die CPU-Auslastung liegt unter 10 % und es bleibt hier stundenlang hängen. Ich habe versucht, die Instanz neu zu starten und das Upgrade erneut zu starten, aber es bleibt an derselben Stelle hängen.

Möglicherweise haben Sie nicht genügend RAM, was zu viel Swapping führt. Das bedeutet, dass die CPU nicht ausgelastet wird, da die Maschine ständig Dinge ein- und auslagert.

Sie können die Dinge über die Befehlszeile messen:

cat /etc/lsb-release
df -h /
free
vmstat 5 5

entweder im Ruhezustand der Maschine oder zum Zeitpunkt, an dem sie hängt. (Verbinden Sie sich von einem zweiten Fenster aus, um eine zweite Befehlszeile zu erhalten. Oder ähnliches.)

Vielen Dank, bei diesem Wiederaufbau läuft es bei yarn wirklich sehr, sehr langsam, die CPU wird kaum ausgelastet und es sieht auch nicht nach viel I/O aus. Ich bin ein wenig ratlos, warum es so langsam ist.

ubuntu@ip-172-26-6-122:~$ cat /etc/lsb-release
df -h /
free
vmstat 5 5
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.3 LTS"
Dateisystem      Größe Benutzt Verf. Verw% Eingehängt auf
/dev/root         39G   19G   21G  47% /
              gesamt        benutzt       frei      shared  Puffer/Cache     verfügbar
Arbeitsspeicher:  972524      399360       75956       14532      497208      365668
Swap:        2097148       51296     2045852
Prozesse -----------Speicher---------- ---Swap-- ---I/O---- --System-- ------CPU-----
 r  b   swpd   frei   buff  Cache   si   so    bi    bo   in   cs us sy id wa st
 0  4  51296  75956  56504 440780  951  936  7442  1197  620 1597  2  4  2 91  0
 0  5  51296  69668  56632 444976    0    0   418   585  389  893  2  2  0 96  0
 0  4  51296  65384  57280 448368    0    0   422   599  382  906  1  1  0 97  0
 0  4  51296  74460  57564 439444    0    0   506   546  399  946  1  3  0 96  0
 0  4  51296  64588  57828 444900    0    0   545   614  407  983  2  2  0 96  0

Vor Version 3.2.0 liefen die Wiederaufbauten normalerweise schnell und waren in etwa 10-20 Minuten erledigt.

Danke. Also kein Tauschen, kein RAM-Problem. Sie haben konstante Block-I/O. Könnte das Remote-Speicher sein?? Ist alles lokal oder ist Cloud-Speicher involviert?

Mir fällt auf, dass sowohl snapd als auch amazon-ssm-agent ziemlich viel CPU-Zeit angesammelt haben, obwohl ihr Prozentsatz null ist. Ich weiß nicht, was da los ist – ich habe keines von beiden.

Wenn die I/O wirklich langsam ist, könnte es daran liegen, dass Sie sich eine Maschine (und eine Festplatte) mit einem sehr hungrigen Nachbarn teilen. Vielleicht können Sie Ihren Hosting-Anbieter bitten, Sie zu verschieben, oder nachsehen?

Entschuldigung, im Moment keine guten Antworten.

Läuft auf EC2/Lightsail. Ich dachte, es könnte ein Instanzproblem sein, also habe ich einen Snapshot gemacht und eine neue Instanz in einer ganz anderen Region gestartet, und sie hängt immer noch bei

3536:C 01 Feb 2024 18:24:10.670 * DB auf Festplatte gespeichert
3536:C 01 Feb 2024 18:24:10.672 * Fork CoW für RDB: aktuell 1 MB, Spitze 1 MB, Durchschnitt 1 MB
110:M 01 Feb 2024 18:24:10.761 * Hintergrundspeicherung erfolgreich beendet
Plugin-Name ist 'discourse-topic-voting', aber das Plugin-Verzeichnis heißt 'discourse-voting'
Node.js heap_size_limit (487.0) ist kleiner als 2048MB. Setze --max-old-space-size=2048.
110:M 01 Feb 2024 18:29:11.092 * 100 Änderungen in 300 Sekunden. Speichere...
110:M 01 Feb 2024 18:29:11.509 * Hintergrundspeicherung gestartet von PID 3721
3721:C 01 Feb 2024 18:29:59.839 * DB auf Festplatte gespeichert
3721:C 01 Feb 2024 18:29:59.840 * Fork CoW für RDB: aktuell 1 MB, Spitze 1 MB, Durchschnitt 1 MB
110:M 01 Feb 2024 18:29:59.876 * Hintergrundspeicherung erfolgreich beendet

Das ist der Punkt, an dem es einfach “hängt”:

ubuntu@ip-172-26-6-122:~$ cat /etc/lsb-release
df -h /
free
vmstat 5 5
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.3 LTS"
Dateisystem      Größe Benutzt Verf. Ben% Eingehängt auf
/dev/root        39G   19G   21G  47% /
              gesamt        benutzt       frei      gemeinsam Puffer/Cache verfügbar
Arbeitsspeicher:  972524      674416      155656       15932      142452      143064
Swap:        2097148      201824     1895324
procs -----------speicher---------- ---swap-- -----io---- -system-- ------cpu-----\n r  b   swpd   frei   buff  cache   si   so    bi    bo   in   cs us sy id wa st\n 1  5 201824 155408   3220 140844  870  860  6959  1176  601 1627  3  4  2 91  0\n 1  0 201824 154824   5588 169332    3    0  5503    11  365 1708 39  8  0 53  0\n 3  0 202336  67104   4896 159076   48  150   986   194  321 3046 96  4  0  0  0\n 0  6 209760  74732    296 114488  283 1738  8385  1934  499 2265 46  5  0 49  0\n 0  4 212576  76968    200 115316    0  569  7678   652  387  524  1  1  0 97  0\n

Und htop zeigt, dass es CPU-Zyklen auf node, ember und snapd dreht, da es plötzlich explodiert und 100% CPU verbraucht und dann bei etwa <5% für eine Weile verbleibt und dann wieder explodiert und so weiter.

Ich vermute, es ist ein Problem mit dem Discourse-Upgrade selbst. Gibt es eine Möglichkeit, das Discourse-Upgrade zurückzusetzen und es neu zu starten?

Es scheint mir, dass etwas mit dem Discourse-Build kaputt ist, wenn versucht wird, die Assets vorab zu kompilieren. Es hängt einfach hier fest, ohne I/O- oder CPU-Auslastung.

Ich kann nichts in der Forensuche finden, wie man einen Rebuild von der Konsole zurücksetzt, und mir gehen die Ideen aus. @JammyDodger, ich suche Hilfe von den Experten, die vielleicht Aufschluss darüber geben können, warum der Rebuild hängen geblieben ist und wie man ihn zurücksetzt.

Ich glaube, jeder neue ./launcher rebuild app startet einen neuen, also wenn Sie neu gestartet und einen weiteren Rebuild versucht haben, sollte er jedes Mal von vorne beginnen.

Könnte dies mit den Änderungen zusammenhängen, die Sie an der Anzahl der Einhörner vorgenommen haben?

Das ist eine tolle Frage. Ich weiß es nicht und das ist es, worüber ich gehofft hatte, dass das Entwicklerteam etwas sagen könnte. Ich werde versuchen, es noch einmal mit 2 Einhörnern statt 1 zu rekonstruieren.

Ja, da dies der Standardspeicher in den gängigsten AWS-Instanzen ist.

Ich glaube, er tauscht über das Netzwerk, daher ist es so schnell, wie wir hier sehen.

Während der JS-Build-Schritt auf kleinen DO-Instanztypen ebenfalls recht langsam ist, ist er zumindest meines Wissens lokaler Speicher.

Was als Nächstes zu tun ist, sieht so aus, als ob der einzige Ausweg darin besteht, auf einen teureren Instanztyp umzusteigen.

Ich werde das als Nächstes versuchen. Überraschend ist, dass diese Instanz seit vielen Jahren läuft. Nie Probleme beim Upgrade bis 3.1.5. Plötzlich mit 3.2.0 gibt es Probleme. Gab es eine große Änderung in den Systemanforderungen? Ich habe mehrere Instanzen aus Snapshots von 3.1.1 bis 3.1.5 ausprobiert und keine davon schließt das Upgrade auf 3.2.0 ab.

Es ist ein wenig seltsam, denn dieser Server kann Discourse problemlos ausführen. Das ganze Problem ist nur das Erstellen der JS-Dateien. Dieser Prozess ist im letzten Jahr erheblich aufwändiger geworden, und das selbst unter Berücksichtigung mehrerer Bemühungen, ihn auf kleinen Servern am Laufen zu halten.

Ah, OK, also mit einer 1G RAM-Instanz und Swapping über das Netzwerk könnten Sie Ihr Forum im Alltag gut bedienen, aber ein Upgrade – besonders in letzter Zeit – ist sehr RAM-intensiv. Ich empfehle Ihnen, die wenigen Minuten Ausfallzeit in Kauf zu nehmen, vorübergehend auf eine 8G-Instanz zu wechseln, dann Ihr Upgrade durchzuführen und anschließend wieder auf die ursprüngliche Größe zurückzuschalten. Ich habe das gemacht, und es hat mich weniger als einen Dollar extra gekostet. Es lief auch schneller und hat mir viel Stress erspart.
Das Wichtige ist, dass Sie Ihre monatlichen Ausgaben nicht verdoppeln oder vervierfachen müssen – Sie nehmen eine vorübergehende Änderung vor.

Ja, ich habe jetzt über 20 Stunden Ausfallzeit hinter mir. Sie haben also einen Snapshot gemacht, eine neue Instanz hochgefahren, Discourse aktualisiert, dann einen weiteren Snapshot gemacht und dann eine neue Instanz heruntergefahren. Habe ich das richtig verstanden?

Bearbeiten: Kann ich ein 3.1.1-Backup sicher auf einer 3.2.0-Instanz wiederherstellen? Im Grunde behalte ich den letzten funktionierenden Snapshot am Laufen, um die Ausfallzeit zu verkürzen, sichere dann Discourse von der 3.1.1-Instanz und stelle dieses 3.1.1-Discourse-Backup wieder her, sobald die neue 3.2.0-Instanz bereit ist?

Wenn Sie von „Über das Netzwerk wechseln“ sprechen, worauf beziehen Sie sich? Die Instanz ist in sich abgeschlossen, das Einzige, was auf S3 ist, sind die Backups. Ich habe alle Dateien lokal aufbewahrt.

Falco meinte, dass EC2/Lightsail das tut – ich habe dieses Wissen nicht.

Ich glaube schon. Aber holen Sie sich eine zweite Meinung ein!

Das habe ich nicht getan, aber es könnte äquivalent sein. Bei meinen Hosting-Anbietern (Digital Ocean und Hetzner) wird mir eine Aktion namens „Rescale“ oder ähnlich angeboten, bei der meine Instanz herunterfährt, ein paar Minuten vergehen und dann eine neue Instanz mit der richtigen IP-Adresse und allen richtigen Festplatteninhalten erscheint, aber mit mehr oder weniger RAM und CPUs. In beiden Fällen macht die Benutzeroberfläche eine klare Unterscheidung zwischen umkehrbarem und nicht umkehrbarem Rescaling. Ich habe nie einen Anbieter-Snapshot oder ein Backup gemacht und nie Amazon genutzt, daher könnte es dort anders sein. Entschuldigung, keine direkte Erfahrung!

Bearbeiten: Es könnte sich lohnen, EC2/Lightsail in den Thema-Titel aufzunehmen??

Ich habe es von 1 auf 2 zurückgesetzt, es hat keinen Unterschied gemacht. Hängt immer noch.

Wenn ich mir die Statistiken ansehe, verbraucht es keine CPU, es nutzt auch nicht den gesamten verfügbaren RAM/Swap. Ich weiß einfach nicht, warum es so langsam ist, dass es von 20 Minuten für den Build von 3.1.5 Stunden für 3.2.0 braucht und jetzt einfach festhängt, nachdem das Hintergrundspeichern beendet wurde.

Was übersehe ich hier, Falco? Was könnte es tun, ohne CPU oder RAM oder signifikante Festplatten-I/O zu beanspruchen?

Ich habe nicht bemerkt, dass jedes Mal, wenn ich eine neue Instanz aus einem Snapshot einrichte, der Server Let’s Encrypt für eine neue Zertifikatsverlängerung kontaktiert und nun sein Limit für die nächste Woche überschritten hat.

Gibt es eine Möglichkeit, Discourse zu zwingen, ein neues Zertifikat zu generieren, indem der hier bereitgestellte Workaround verwendet wird: https://letsencrypt.org/docs/duplicate-certificate-limit/

EDIT: Ich konnte die Zertifikate zum Laufen bringen. Ich habe das gesamte letsencrypt-Verzeichnis von /var/discourse/shared/standalone von der gültigen Zertifikatsinstanz in die neue Instanz kopiert. Ich habe auch den ssl-Ordner zusätzlich zum letsencrypt-Ordner kopiert – aber die Frage ist – ist das erforderlich?

Was ist der Unterschied zwischen dem letsencrypt-Ordner und dem ssl-Ordner? Ich frage, weil mir aufgefallen ist, dass die Zertifikatsdateien in den beiden Ordnern unterschiedliche Größen und Zeitstempel haben? @JammyDodger, wissen Sie, warum die Zertifikatsdateien in zwei verschiedenen Ordnern gespeichert sind?

@JammyDodger @Falco @Ed_S vielen Dank für eure Hilfe bei der Lösung dieses Problems.

Ich konnte es endlich auf einer Instanz mit 2 GB RAM zum Laufen bringen. Es scheint, dass beim Versuch, Discourse 3.2.0 zu bauen, 64 GB VM für Ember benötigt wurden. Das sieht ziemlich wild aus.

Es sieht also so aus, als ob 3.1.5 die letzte Version ist, die auf 1 GB RAM läuft. Ab 3.2.0 scheint das Minimum 2 GB zu sein. @falco @sam können wir erwarten, dass sich die Hardwareanforderungen zum Upgrade von Discourse verdoppeln? Discourse kann problemlos auf 1 GB laufen, es sind die Upgrades, die es kaputt machen. Gibt es keine Möglichkeit, die Assets oder Bilder vorab zu erstellen und auf GitHub zu speichern und sie während des Upgrades herunterzuladen, um die Speicherlast zu reduzieren? Die Sorge ist, dass wir für kleinere Websites keine 2 GB, 4 GB, 8 GB usw. Instanzen benötigen.

Ed, nur zur Info: Meine Strategie funktioniert mit Lightsail nicht. Sobald Sie auf eine größere Instanz aktualisieren, gibt es keine Möglichkeit, diese wieder herunterzustufen. Ich kann also einen Snapshot des 1-GB-Servers machen, dann einen neuen 2-GB-Server starten (und Discourse aktualisieren), aber dann gibt es keine Möglichkeit, diesen auf einem 1-GB-Server wieder hochzufahren, wenn ich einen Snapshot des 2-GB-Servers mache (da das Dateisystem von 40 GB auf 60 GB wechselt und das nicht rückgängig gemacht werden kann). Nichtsdestotrotz ist es keine glückliche Situation, dass man den Server “hochskalieren” muss, nur um die Software zu aktualisieren.

Im Grunde müssen Sie also, wenn Sie Lightsail verwenden, mindestens eine 2-GB-Instanz erhalten (tschüss 1 GB), und wenn die 2-GB-Instanz aus irgendeinem Grund (wie z. B. der Notwendigkeit von 64 GB VM für eine kleine Website) Discourse nicht bauen/aktualisieren kann, sind Sie im Arsch :frowning:
Die einzige Lösung wäre wahrscheinlich, zu EC2 oder etwas wie Digital Ocean zu wechseln, wo Sie Ihren RAM/CPU dynamisch skalieren können, um das Discourse-Upgrade abzuschließen, und dann nach Abschluss des Upgrades wieder herunter skalieren können. Ich habe immer noch Schwierigkeiten zu begreifen, dass wir mehr Ressourcen benötigen, um die Software zu aktualisieren, als um die Software auszuführen.

Schließlich wäre es schön, wenn der Upgrade-Prozess eine Art Fehlermeldung ausgeben würde, wenn er mehr RAM benötigt, aber ihn nicht bekommen kann. Stumm zu scheitern und das gesamte System zu verlangsamen, ist nicht richtig (übrigens, zur Referenz, ich habe overcommit_memory mit 1 und 0 auf meiner 1-GB-Instanz ausprobiert - aber wie gesagt, keine Fehler, selbst der RAM/Swap war zum Zeitpunkt des Hängens aus den obigen Screenshots nicht ausgelastet).

Ich habe nichts dagegen, irgendwann ein bootstrapped Image zu versenden: Can Discourse ship frequent Docker images that do not need to be bootstrapped?

Vielleicht, wenn diese ganze Reihe von Einschränkungen vereinfacht würde:

  • Sie führen einen pg-Container aus
  • Sie führen einen Redis-Container aus
  • Sie führen einen vorab bootstrapped Container aus, ohne jegliche Unterstützung für benutzerdefinierte Plugins, wir würden ihn einfach mit dem offiziellen bündeln

Das könnte funktionieren und für die Leute praktisch sein, der Nachteil ist, dass wir unsere Installationsgeschichte abweichen würden, was unsere Unterstützung für kostenlose Installationen effektiv verdoppelt.

Einen Cache für kompilierte Assets auszuführen, da bin ich mir nicht sicher, ob wir das schaffen, es wird zu kompliziert mit zu vielen beweglichen Teilen.