首次安装引导失败

我按照 🇨🇳 Detailed installation guide + control panel | 超级详细教学安装discourse+控制面板 上的教程在云服务器上部署了 Discourse。我安装了 Docker 并按照说明启动了容器。但是,在完成配置后,在应用程序构建阶段(我的日志在此中断),到服务器的 SSH 连接变得无响应。服务器状态显示磁盘读取 100%,然后冻结。我只能从控制面板重新启动它。有人知道如何解决这个问题吗?
我将在下面的回复中发布日志。

1 个赞

logs of ./launcher

x86_64 arch detected.
2.0.20231218-0429: Pulling from discourse/base
Digest: sha256:468f70b9bb4c6d0c6c2bbb3efc1a5e12d145eae57bdb6946b7fe5558beb52dc1
Status: Image is up to date for 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-15T10:27:53.783742 #1]  INFO -- : Reading from stdin
I, [2024-02-15T10:27:53.788732 #1]  INFO -- : > locale-gen $LANG && update-locale
I, [2024-02-15T10:27:53.819777 #1]  INFO -- : Generating locales (this might take a while)...
Generation complete.
I, [2024-02-15T10:27:53.819971 #1]  INFO -- : > mkdir -p /shared/postgres_run
I, [2024-02-15T10:27:53.822342 #1]  INFO -- : 
I, [2024-02-15T10:27:53.822640 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2024-02-15T10:27:53.824680 #1]  INFO -- : 
I, [2024-02-15T10:27:53.824924 #1]  INFO -- : > chmod 775 /shared/postgres_run
I, [2024-02-15T10:27:53.826606 #1]  INFO -- : 
I, [2024-02-15T10:27:53.826773 #1]  INFO -- : > rm -fr /var/run/postgresql
I, [2024-02-15T10:27:53.828655 #1]  INFO -- : 
I, [2024-02-15T10:27:53.828815 #1]  INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2024-02-15T10:27:53.831027 #1]  INFO -- : 
I, [2024-02-15T10:27:53.831176 #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/15 10:27:53 socat[19] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): No such file or directory
I, [2024-02-15T10:27:53.838657 #1]  INFO -- : 
I, [2024-02-15T10:27:53.838799 #1]  INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2024-02-15T10:27:53.841286 #1]  INFO -- : 
I, [2024-02-15T10:27:53.841411 #1]  INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2024-02-15T10:27:53.843857 #1]  INFO -- : 
I, [2024-02-15T10:27:53.844057 #1]  INFO -- : > mkdir -p /shared/postgres_run/13-main.pg_stat_tmp
I, [2024-02-15T10:27:53.845883 #1]  INFO -- : 
I, [2024-02-15T10:27:53.846049 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run/13-main.pg_stat_tmp
I, [2024-02-15T10:27:53.847952 #1]  INFO -- : 
I, [2024-02-15T10:27:53.852041 #1]  INFO -- : File > /etc/service/postgres/run  chmod: +x  chown: 
I, [2024-02-15T10:27:53.855952 #1]  INFO -- : File > /etc/service/postgres/log/run  chmod: +x  chown: 
I, [2024-02-15T10:27:53.859781 #1]  INFO -- : File > /etc/runit/3.d/99-postgres  chmod: +x  chown: 
I, [2024-02-15T10:27:53.863808 #1]  INFO -- : File > /root/upgrade_postgres  chmod: +x  chown: 
I, [2024-02-15T10:27:53.864070 #1]  INFO -- : > chown -R root /var/lib/postgresql/13/main
I, [2024-02-15T10:27:55.115302 #1]  INFO -- : 
I, [2024-02-15T10:27:55.115451 #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-15T10:27:55.117522 #1]  INFO -- : 
I, [2024-02-15T10:27:55.117656 #1]  INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2024-02-15T10:27:55.128602 #1]  INFO -- : 
I, [2024-02-15T10:27:55.128937 #1]  INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2024-02-15T10:27:55.131289 #1]  INFO -- : 
I, [2024-02-15T10:27:55.131550 #1]  INFO -- : > /root/upgrade_postgres
I, [2024-02-15T10:27:55.136105 #1]  INFO -- : 
I, [2024-02-15T10:27:55.136339 #1]  INFO -- : > rm /root/upgrade_postgres
I, [2024-02-15T10:27:55.138143 #1]  INFO -- : 
I, [2024-02-15T10:27:55.138557 #1]  INFO -- : Replacing data_directory = '/var/lib/postgresql/13/main' with data_directory = '/shared/postgres_data' in /etc/postgresql/13/main/postgresql.conf
I, [2024-02-15T10:27:55.139064 #1]  INFO -- : Replacing (?-mix:#?listen_addresses *=.*) with listen_addresses = '*' in /etc/postgresql/13/main/postgresql.conf
I, [2024-02-15T10:27:55.142593 #1]  INFO -- : Replacing (?-mix:#?synchronous_commit *=.*) with synchronous_commit = $db_synchronous_commit in /etc/postgresql/13/main/postgresql.conf
I, [2024-02-15T10:27:55.143215 #1]  INFO -- : Replacing (?-mix:#?shared_buffers *=.*) with shared_buffers = $db_shared_buffers in /etc/postgresql/13/main/postgresql.conf
I, [2024-02-15T10:27:55.143821 #1]  INFO -- : Replacing (?-mix:#?work_mem *=.*) with work_mem = $db_work_mem in /etc/postgresql/13/main/postgresql.conf
I, [2024-02-15T10:27:55.144347 #1]  INFO -- : Replacing (?-mix:#?default_text_search_config *=.*) with default_text_search_config = '$db_default_text_search_config' in /etc/postgresql/13/main/postgresql.conf
I, [2024-02-15T10:27:55.144822 #1]  INFO -- : > install -d -m 0755 -o postgres -g postgres /shared/postgres_backup
I, [2024-02-15T10:27:55.149060 #1]  INFO -- : 
I, [2024-02-15T10:27:55.149426 #1]  INFO -- : Replacing (?-mix:#?checkpoint_segments *=.*) with checkpoint_segments = $db_checkpoint_segments in /etc/postgresql/13/main/postgresql.conf
I, [2024-02-15T10:27:55.149729 #1]  INFO -- : Replacing (?-mix:#?logging_collector *=.*) with logging_collector = $db_logging_collector in /etc/postgresql/13/main/postgresql.conf
I, [2024-02-15T10:27:55.150305 #1]  INFO -- : Replacing (?-mix:#?log_min_duration_statement *=.*) with log_min_duration_statement = $db_log_min_duration_statement in /etc/postgresql/13/main/postgresql.conf
I, [2024-02-15T10:27:55.150833 #1]  INFO -- : Replacing (?-mix:^#local +replication +postgres +peer$) with local replication postgres  peer in /etc/postgresql/13/main/pg_hba.conf
I, [2024-02-15T10:27:55.151186 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*127.*$) with host all all 0.0.0.0/0 md5 in /etc/postgresql/13/main/pg_hba.conf
I, [2024-02-15T10:27:55.151662 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*::1\/128.*$) with host all all ::/0 md5 in /etc/postgresql/13/main/pg_hba.conf
I, [2024-02-15T10:27:55.152088 #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-15T10:27:55.155843 #1]  INFO -- : > sleep 5
2024-02-15 10:27:55.190 UTC [42] LOG:  starting PostgreSQL 13.13 (Debian 13.13-1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
2024-02-15 10:27:55.190 UTC [42] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2024-02-15 10:27:55.191 UTC [42] LOG:  listening on IPv6 address "::", port 5432
2024-02-15 10:27:55.194 UTC [42] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2024-02-15 10:27:55.200 UTC [45] LOG:  database system was shut down at 2024-02-15 10:26:58 UTC
2024-02-15 10:27:55.204 UTC [42] LOG:  database system is ready to accept connections
I, [2024-02-15T10:28:00.163378 #1]  INFO -- : 
I, [2024-02-15T10:28:00.163700 #1]  INFO -- : > su postgres -c 'createdb discourse' || true
2024-02-15 10:28:00.223 UTC [55] postgres@postgres ERROR:  database "discourse" already exists
2024-02-15 10:28:00.223 UTC [55] postgres@postgres STATEMENT:  CREATE DATABASE discourse;
createdb: error: database creation failed: ERROR:  database "discourse" already exists
I, [2024-02-15T10:28:00.224612 #1]  INFO -- : 
I, [2024-02-15T10:28:00.225093 #1]  INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
2024-02-15 10:28:00.273 UTC [59] postgres@discourse ERROR:  role "discourse" already exists
2024-02-15 10:28:00.273 UTC [59] postgres@discourse STATEMENT:  create user discourse;
ERROR:  role "discourse" already exists
I, [2024-02-15T10:28:00.274926 #1]  INFO -- : 
I, [2024-02-15T10:28:00.275392 #1]  INFO -- : > su postgres -c 'psql discourse -c "grant all privileges on database discourse to discourse;"' || true
I, [2024-02-15T10:28:00.321218 #1]  INFO -- : GRANT
I, [2024-02-15T10:28:00.321681 #1]  INFO -- : > su postgres -c 'psql discourse -c "alter schema public owner to discourse;"'
I, [2024-02-15T10:28:00.368758 #1]  INFO -- : ALTER SCHEMA
I, [2024-02-15T10:28:00.369222 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists hstore;"'
NOTICE:  extension "hstore" already exists, skipping
I, [2024-02-15T10:28:00.419312 #1]  INFO -- : CREATE EXTENSION
I, [2024-02-15T10:28:00.419764 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists pg_trgm;"'
NOTICE:  extension "pg_trgm" already exists, skipping
I, [2024-02-15T10:28:00.467914 #1]  INFO -- : CREATE EXTENSION
I, [2024-02-15T10:28:00.468449 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists vector;"'
NOTICE:  extension "vector" already exists, skipping
I, [2024-02-15T10:28:00.517577 #1]  INFO -- : CREATE EXTENSION
I, [2024-02-15T10:28:00.518046 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists hstore;"'
NOTICE:  extension "hstore" already exists, skipping
I, [2024-02-15T10:28:00.563004 #1]  INFO -- : CREATE EXTENSION
I, [2024-02-15T10:28:00.563470 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists pg_trgm;"'
NOTICE:  extension "pg_trgm" already exists, skipping
I, [2024-02-15T10:28:00.618027 #1]  INFO -- : CREATE EXTENSION
I, [2024-02-15T10:28:00.618552 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists vector;"'
NOTICE:  extension "vector" already exists, skipping
I, [2024-02-15T10:28:00.669078 #1]  INFO -- : CREATE EXTENSION
I, [2024-02-15T10:28:00.670057 #1]  INFO -- : > sudo -u postgres psql discourse
I, [2024-02-15T10:28:00.672371 #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-15T10:28:00.730978 #1]  INFO -- : File > /var/lib/postgresql/take-database-backup  chmod: +x  chown: postgres:postgres
I, [2024-02-15T10:28:00.733740 #1]  INFO -- : File > /var/spool/cron/crontabs/postgres  chmod:   chown: 
I, [2024-02-15T10:28:00.733836 #1]  INFO -- : > echo postgres installed!
I, [2024-02-15T10:28:00.735684 #1]  INFO -- : postgres installed!
I, [2024-02-15T10:28:00.740680 #1]  INFO -- : File > /etc/service/redis/run  chmod: +x  chown: 
I, [2024-02-15T10:28:00.745130 #1]  INFO -- : File > /etc/service/redis/log/run  chmod: +x  chown: 
I, [2024-02-15T10:28:00.749422 #1]  INFO -- : File > /etc/runit/3.d/10-redis  chmod: +x  chown: 
I, [2024-02-15T10:28:00.749951 #1]  INFO -- : Replacing daemonize yes with  in /etc/redis/redis.conf
I, [2024-02-15T10:28:00.750813 #1]  INFO -- : Replacing (?-mix:^pidfile.*$) with  in /etc/redis/redis.conf
I, [2024-02-15T10:28:00.751445 #1]  INFO -- : > install -d -m 0755 -o redis -g redis /shared/redis_data
I, [2024-02-15T10:28:00.756305 #1]  INFO -- : 
I, [2024-02-15T10:28:00.756731 #1]  INFO -- : Replacing (?-mix:^logfile.*$) with logfile "" in /etc/redis/redis.conf
I, [2024-02-15T10:28:00.757237 #1]  INFO -- : Replacing (?-mix:^bind .*$) with  in /etc/redis/redis.conf
I, [2024-02-15T10:28:00.758178 #1]  INFO -- : Replacing (?-mix:^dir .*$) with dir /shared/redis_data in /etc/redis/redis.conf
I, [2024-02-15T10:28:00.758990 #1]  INFO -- : Replacing (?-mix:^protected-mode yes) with protected-mode no in /etc/redis/redis.conf
I, [2024-02-15T10:28:00.759791 #1]  INFO -- : Replacing # io-threads 4 with io-threads $redis_io_threads in /etc/redis/redis.conf
I, [2024-02-15T10:28:00.760914 #1]  INFO -- : > echo redis installed
I, [2024-02-15T10:28:00.763943 #1]  INFO -- : redis installed
I, [2024-02-15T10:28:00.764240 #1]  INFO -- : > cat /etc/redis/redis.conf | grep logfile
I, [2024-02-15T10:28:00.769404 #1]  INFO -- : logfile ""
I, [2024-02-15T10:28:00.769851 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2024-02-15T10:28:00.771248 #1]  INFO -- : > sleep 10
111:C 15 Feb 2024 10:28:00.779 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
111:C 15 Feb 2024 10:28:00.779 # Redis version=7.0.7, bits=64, commit=00000000, modified=0, pid=111, just started
111:C 15 Feb 2024 10:28:00.779 # Configuration loaded
111:M 15 Feb 2024 10:28:00.780 * monotonic clock: POSIX clock_gettime
111:M 15 Feb 2024 10:28:00.781 * Running mode=standalone, port=6379.
111:M 15 Feb 2024 10:28:00.781 # Server initialized
111:M 15 Feb 2024 10:28:00.782 * Loading RDB produced by version 7.0.7
111:M 15 Feb 2024 10:28:00.782 * RDB age 62 seconds
111:M 15 Feb 2024 10:28:00.782 * RDB memory usage when created 0.98 Mb
111:M 15 Feb 2024 10:28:00.782 * Done loading RDB, keys loaded: 34, keys expired: 0.
111:M 15 Feb 2024 10:28:00.782 * DB loaded from disk: 0.001 seconds
111:M 15 Feb 2024 10:28:00.782 * Ready to accept connections
I, [2024-02-15T10:28:10.773983 #1]  INFO -- : 
I, [2024-02-15T10:28:10.774312 #1]  INFO -- : > thpoff echo "thpoff is installed!"
I, [2024-02-15T10:28:10.777770 #1]  INFO -- : thpoff is installed!
I, [2024-02-15T10:28:10.777992 #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-15T10:28:10.841325 #1]  INFO -- : 
I, [2024-02-15T10:28:10.841704 #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-15T10:28:10.912056 #1]  INFO -- : 
I, [2024-02-15T10:28:10.912495 #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-15T10:28:10.975717 #1]  INFO -- : 
I, [2024-02-15T10:28:10.976065 #1]  INFO -- : > rm -f /etc/cron.d/anacron
I, [2024-02-15T10:28:10.980294 #1]  INFO -- : 
I, [2024-02-15T10:28:10.983044 #1]  INFO -- : File > /etc/cron.d/anacron  chmod:   chown: 
I, [2024-02-15T10:28:10.987324 #1]  INFO -- : File > /etc/runit/1.d/copy-env  chmod: +x  chown: 
I, [2024-02-15T10:28:10.991444 #1]  INFO -- : File > /etc/service/unicorn/run  chmod: +x  chown: 
I, [2024-02-15T10:28:10.995677 #1]  INFO -- : File > /etc/service/nginx/run  chmod: +x  chown: 
I, [2024-02-15T10:28:10.999661 #1]  INFO -- : File > /etc/runit/3.d/01-nginx  chmod: +x  chown: 
I, [2024-02-15T10:28:11.003463 #1]  INFO -- : File > /etc/runit/3.d/02-unicorn  chmod: +x  chown: 
I, [2024-02-15T10:28:11.003703 #1]  INFO -- : Replacing # postgres with sv start postgres || exit 1 in /etc/service/unicorn/run
I, [2024-02-15T10:28:11.004008 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2024-02-15T10:28:11.005833 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git reset --hard
138:C 15 Feb 2024 10:28:11.012 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
138:C 15 Feb 2024 10:28:11.012 # Redis version=7.0.7, bits=64, commit=00000000, modified=0, pid=138, just started
138:C 15 Feb 2024 10:28:11.012 # Configuration loaded
138:M 15 Feb 2024 10:28:11.012 * monotonic clock: POSIX clock_gettime
138:M 15 Feb 2024 10:28:11.014 # Warning: Could not create server TCP listening socket *:6379: bind: Address already in use
138:M 15 Feb 2024 10:28:11.014 # Failed listening on port 6379 (TCP), aborting.
Updating files:  36% (12265/33715)
Updating files:  37% (12475/33715)
Updating files:  38% (12812/33715)
Updating files:  39% (13149/33715)
Updating files:  40% (13486/33715)
Updating files:  41% (13824/33715)
Updating files:  42% (14161/33715)
Updating files:  43% (14498/33715)
Updating files:  44% (14835/33715)
Updating files:  45% (15172/33715)
Updating files:  46% (15509/33715)
Updating files:  47% (15847/33715)
Updating files:  48% (16184/33715)
Updating files:  49% (16521/33715)
Updating files:  50% (16858/33715)
Updating files:  51% (17195/33715)
Updating files:  52% (17532/33715)
Updating files:  53% (17869/33715)
Updating files:  54% (18207/33715)
Updating files:  55% (18544/33715)
Updating files:  56% (18881/33715)
Updating files:  57% (19218/33715)
Updating files:  58% (19555/33715)
Updating files:  59% (19892/33715)
Updating files:  60% (20229/33715)
Updating files:  61% (20567/33715)
Updating files:  62% (20904/33715)
Updating files:  63% (21241/33715)
Updating files:  64% (21578/33715)
Updating files:  65% (21915/33715)
Updating files:  66% (22252/33715)
Updating files:  67% (22590/33715)
Updating files:  68% (22927/33715)
Updating files:  69% (23264/33715)
Updating files:  70% (23601/33715)
Updating files:  71% (23938/33715)
Updating files:  72% (24275/33715)
Updating files:  73% (24612/33715)
Updating files:  74% (24950/33715)
Updating files:  75% (25287/33715)
Updating files:  76% (25624/33715)
Updating files:  77% (25961/33715)
Updating files:  78% (26298/33715)
Updating files:  79% (26635/33715)
Updating files:  80% (26972/33715)
Updating files:  81% (27310/33715)
Updating files:  82% (27647/33715)
Updating files:  82% (27668/33715)
Updating files:  83% (27984/33715)
Updating files:  84% (28321/33715)
Updating files:  85% (28658/33715)
Updating files:  86% (28995/33715)
Updating files:  87% (29333/33715)
Updating files:  88% (29670/33715)
Updating files:  89% (30007/33715)
Updating files:  90% (30344/33715)
Updating files:  91% (30681/33715)
Updating files:  92% (31018/33715)
Updating files:  93% (31355/33715)
Updating files:  94% (31693/33715)
Updating files:  95% (32030/33715)
Updating files:  96% (32367/33715)
Updating files:  97% (32704/33715)
Updating files:  98% (33041/33715)
Updating files:  99% (33378/33715)
Updating files: 100% (33715/33715)
Updating files: 100% (33715/33715), done.
I, [2024-02-15T10:28:13.867424 #1]  INFO -- : HEAD is now at 6ab1a19e9 DEV: Convert min_trust_level_to_allow_invite to groups (#24893)
I, [2024-02-15T10:28:13.870245 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git clean -f
I, [2024-02-15T10:28:14.033356 #1]  INFO -- : 
I, [2024-02-15T10:28:14.033496 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse bash -c '
  set -o errexit
  if [ $(git rev-parse --is-shallow-repository) == "true" ]; then
      git remote set-branches --add origin main
      git remote set-branches origin tests-passed
      git fetch --depth 1 origin tests-passed
  else
      git fetch --tags --prune-tags --prune --force origin
  fi
'
From https://github.com/discourse/discourse
 - [deleted]             (none)     -> origin/0-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/plugin-extra-js
 - [deleted]             (none)     -> origin/table-builder-modal-modifier
 - [deleted]             (none)     -> origin/tests-passed-broken
 - [deleted]             (none)     -> origin/wip_categories
 - [deleted]             (none)     -> origin/wizard-split
   6ab1a19e9..c30aeafd9  main                    -> origin/main
 * [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-fix-perf-watched-words -> origin/0-fix-perf-watched-words
 * [new branch]          0-rev                   -> origin/0-rev
 * [new branch]          0-screen-track          -> origin/0-screen-track
 * [new branch]          add-api-for-forced-auth -> origin/add-api-for-forced-auth
 * [new branch]          asciinema-iframe        -> origin/asciinema-iframe
 * [new branch]          async-category-search   -> origin/async-category-search
 * [new branch]          bulk-select-dropdown-items -> origin/bulk-select-dropdown-items
 * [new branch]          convert-header-to-glimmer -> origin/convert-header-to-glimmer
 * [new branch]          csp-strict-dynamic      -> origin/csp-strict-dynamic
 * [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]          dependabot/bundler/rack-mini-profiler-3.3.1 -> origin/dependabot/bundler/rack-mini-profiler-3.3.1
 * [new branch]          dev-convert-topic-map-expanded-widget-to-component -> origin/dev-convert-topic-map-expanded-widget-to-component
 * [new branch]          dev/add-modifier-user-action-stream-builder -> origin/dev/add-modifier-user-action-stream-builder
 * [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
 + 79ea38776...bd0faffec dev/drop-notification_id-column-on-chat-mentions -> origin/dev/drop-notification_id-column-on-chat-mentions  (forced update)
 * [new branch]          dev/drop-the-user-id-column-from-chat-mentions -> origin/dev/drop-the-user-id-column-from-chat-mentions
 + e0c0191bb...6751ac529 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/groundwork-theme-settings-editor -> origin/dev/groundwork-theme-settings-editor
 * [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]          discover_enrollment     -> origin/discover_enrollment
 * [new branch]          extra-js-revert         -> origin/extra-js-revert
 * [new branch]          fast-edit-expand-regex  -> origin/fast-edit-expand-regex
   8780daeee..d92b6b19b  feature/bookmark-menu-and-modal-redesign -> origin/feature/bookmark-menu-and-modal-redesign
 * [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]          feature_track_mentions  -> origin/feature_track_mentions
 * [new branch]          fix_category_chooser    -> origin/fix_category_chooser
 * [new branch]          fix_in_any_groups       -> origin/fix_in_any_groups
 * [new branch]          fix_reviewable_translation -> origin/fix_reviewable_translation
   7f2bdca65..4db506cea  generic-import-latest   -> origin/generic-import-latest
 * [new branch]          hijacks                 -> origin/hijacks
 * [new branch]          issue/respect-homepage-admin-sidebar-back -> origin/issue/respect-homepage-admin-sidebar-back
 * [new branch]          issue/run-admin-sidebar-init-after-logs-notice -> origin/issue/run-admin-sidebar-init-after-logs-notice
 * [new branch]          loic-rubocop-plugin-rules -> origin/loic-rubocop-plugin-rules
 + 90a3535b7...54d0135bc migrations-convert      -> origin/migrations-convert  (forced update)
 * [new branch]          promote-migration-tweak -> origin/promote-migration-tweak
 * [new branch]          redesign-my-threads-index -> origin/redesign-my-threads-index
 * [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]          scrolling               -> origin/scrolling
 * [new branch]          sidebar-above-outlet    -> origin/sidebar-above-outlet
 * [new branch]          site-logo-height        -> origin/site-logo-height
   d7f7f79b6..92749b738  stable                  -> origin/stable
 * [new branch]          system-test-for-soft-load-search -> origin/system-test-for-soft-load-search
   6ab1a19e9..c30aeafd9  tests-passed            -> origin/tests-passed
 * [new branch]          tmp/move-notifiers-specs -> origin/tmp/move-notifiers-specs
 * [new branch]          unhide_lazy_load_categories -> origin/unhide_lazy_load_categories
 * [new branch]          universal-nonce         -> origin/universal-nonce
 * [new branch]          user-menu-full-name     -> origin/user-menu-full-name
 * [new branch]          ux-label-bold           -> origin/ux-label-bold
 * [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-15T10:28:16.245050 #1]  INFO -- : 
I, [2024-02-15T10:28:16.245159 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse bash -c '
  set -o errexit
  if [[ $(git symbolic-ref --short HEAD) == tests-passed ]] ; then
      git pull
  else
      git -c advice.detachedHead=false checkout tests-passed
  fi
'
Switched to a new branch 'tests-passed'
I, [2024-02-15T10:28:23.253872 #1]  INFO -- : Branch 'tests-passed' set up to track remote branch 'tests-passed' from 'origin'.
I, [2024-02-15T10:28:23.254007 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git config user.discourse-version tests-passed
I, [2024-02-15T10:28:23.264578 #1]  INFO -- : 
I, [2024-02-15T10:28:23.264750 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp
I, [2024-02-15T10:28:23.268499 #1]  INFO -- : 
I, [2024-02-15T10:28:23.268683 #1]  INFO -- : > cd /var/www/discourse && chown discourse:www-data tmp
I, [2024-02-15T10:28:23.272081 #1]  INFO -- : 
I, [2024-02-15T10:28:23.272162 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/pids
I, [2024-02-15T10:28:23.275033 #1]  INFO -- : 
I, [2024-02-15T10:28:23.275255 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/sockets
I, [2024-02-15T10:28:23.278006 #1]  INFO -- : 
I, [2024-02-15T10:28:23.278205 #1]  INFO -- : > cd /var/www/discourse && touch tmp/.gitkeep
I, [2024-02-15T10:28:23.281859 #1]  INFO -- : 
I, [2024-02-15T10:28:23.281991 #1]  INFO -- : > cd /var/www/discourse && mkdir -p                    /shared/log/rails
I, [2024-02-15T10:28:23.284816 #1]  INFO -- : 
I, [2024-02-15T10:28:23.284885 #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-15T10:28:23.288517 #1]  INFO -- : 
I, [2024-02-15T10:28:23.288699 #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-15T10:28:23.292668 #1]  INFO -- : 
I, [2024-02-15T10:28:23.292739 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/{uploads,backups}"
I, [2024-02-15T10:28:23.296906 #1]  INFO -- : 
I, [2024-02-15T10:28:23.296988 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/{uploads,backups} /var/www/discourse/public"
I, [2024-02-15T10:28:23.300824 #1]  INFO -- : 
I, [2024-02-15T10:28:23.301054 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/tmp/{backups,restores}"
I, [2024-02-15T10:28:23.305107 #1]  INFO -- : 
I, [2024-02-15T10:28:23.305304 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/tmp/{backups,restores} /var/www/discourse/tmp"
I, [2024-02-15T10:28:23.309337 #1]  INFO -- : 
I, [2024-02-15T10:28:23.309640 #1]  INFO -- : > cd /var/www/discourse && chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp
I, [2024-02-15T10:28:23.313054 #1]  INFO -- : 
I, [2024-02-15T10:28:23.313172 #1]  INFO -- : > cd /var/www/discourse && [ ! -d public/plugins ] || find public/plugins/ -maxdepth 1 -xtype l -delete
I, [2024-02-15T10:28:23.315102 #1]  INFO -- : 
I, [2024-02-15T10:28:23.316685 #1]  INFO -- : Replacing # redis with sv start redis || exit 1 in /etc/service/unicorn/run
I, [2024-02-15T10:28:23.317733 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/docker_manager.git
Cloning into 'docker_manager'...
I, [2024-02-15T10:28:26.376448 #1]  INFO -- : 
I, [2024-02-15T10:28:26.377014 #1]  INFO -- : > cp /var/www/discourse/config/nginx.sample.conf /etc/nginx/conf.d/discourse.conf
I, [2024-02-15T10:28:26.382672 #1]  INFO -- : 
I, [2024-02-15T10:28:26.382999 #1]  INFO -- : > rm /etc/nginx/sites-enabled/default
I, [2024-02-15T10:28:26.385923 #1]  INFO -- : 
I, [2024-02-15T10:28:26.386108 #1]  INFO -- : > mkdir -p /var/nginx/cache
I, [2024-02-15T10:28:26.388292 #1]  INFO -- : 
I, [2024-02-15T10:28:26.388901 #1]  INFO -- : Replacing pid /run/nginx.pid; with daemon off; in /etc/nginx/nginx.conf
I, [2024-02-15T10:28:26.391324 #1]  INFO -- : Replacing (?m-ix:upstream[^\}]+\}) with upstream discourse { server 127.0.0.1:3000; } in /etc/nginx/conf.d/discourse.conf
I, [2024-02-15T10:28:26.391633 #1]  INFO -- : Replacing (?-mix:server_name.+$) with server_name _ ; in /etc/nginx/conf.d/discourse.conf
I, [2024-02-15T10:28:26.392107 #1]  INFO -- : Replacing (?-mix:client_max_body_size.+$) with client_max_body_size $upload_size ; in /etc/nginx/conf.d/discourse.conf
I, [2024-02-15T10:28:26.392579 #1]  INFO -- : Replacing (?-mix:worker_connections.+$) with worker_connections $nginx_worker_connections ; in /etc/nginx/nginx.conf
I, [2024-02-15T10:28:26.392893 #1]  INFO -- : > echo "done configuring web"
I, [2024-02-15T10:28:26.394573 #1]  INFO -- : done configuring web
I, [2024-02-15T10:28:26.394967 #1]  INFO -- : > cd /var/www/discourse && gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,""); print $0 }' Gemfile.lock)
I, [2024-02-15T10:28:27.261440 #1]  INFO -- : Successfully installed bundler-2.5.3
1 gem installed
I, [2024-02-15T10:28:27.261620 #1]  INFO -- : > cd /var/www/discourse && find /var/www/discourse ! -user discourse -exec chown discourse {} \+
I, [2024-02-15T10:28:31.381167 #1]  INFO -- : 
I, [2024-02-15T10:28:31.381815 #1]  INFO -- : > cd /var/www/discourse && if [ "tests-passed" != "tests-passed" ]; then
  rm -rf app/assets/javascripts/node_modules
fi
I, [2024-02-15T10:28:31.385573 #1]  INFO -- : 
I, [2024-02-15T10:28:31.385994 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'yarn install --frozen-lockfile && yarn cache clean'
warning "@discourse/lint-configs > eslint-plugin-ember > ember-eslint-parser@0.2.5" has unmet peer dependency "@typescript-eslint/parser@^6.15.0".
warning "@discourse/lint-configs > eslint-plugin-ember > ember-eslint-parser@0.2.5" has incorrect peer dependency "typescript@^5.3.3".
warning " > @glint/environment-ember-loose@1.3.0" has unmet peer dependency "@glimmer/component@^1.1.2".
I, [2024-02-15T10:30:20.264448 #1]  INFO -- : Terminating async processes
I, [2024-02-15T10:30:20.265295 #1]  INFO -- : Sending INT to HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 42
2024-02-15 10:30:20.265 UTC [42] LOG:  received fast shutdown request
I, [2024-02-15T10:30:20.265390 #1]  INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 111
111:signal-handler (1707993020) Received SIGTERM scheduling shutdown...
111:M 15 Feb 2024 10:30:20.284 # User requested shutdown...
111:M 15 Feb 2024 10:30:20.285 * Saving the final RDB snapshot before exiting.
2024-02-15 10:30:20.303 UTC [42] LOG:  aborting any active transactions
2024-02-15 10:30:20.307 UTC [42] LOG:  background worker "logical replication launcher" (PID 51) exited with exit code 1
2024-02-15 10:30:20.309 UTC [46] LOG:  shutting down
111:M 15 Feb 2024 10:30:20.335 * DB saved on disk
111:M 15 Feb 2024 10:30:20.344 # Redis is now ready to exit, bye bye...
2024-02-15 10:30:20.463 UTC [42] LOG:  database system is shut down
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
c861827aef2d0dda3f1fc07c2cfe615a91eef803ab3fb36b5d71698adadc21e1

logs of ./discourse-doctor

DISCOURSE DOCTOR Thu 15 Feb 2024 06:32:48 PM CST
OS: Linux iZj6cgi365ov99veqodfgnZ 5.4.0-171-generic #189-Ubuntu SMP Fri Jan 5 14:23:02 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux


Found containers/app.yml

==================== YML SETTINGS ====================
DISCOURSE_HOSTNAME=*
SMTP_ADDRESS=*
DEVELOPER_EMAILS=*
SMTP_PASSWORD=*
SMTP_PORT=*
SMTP_USER_NAME=*
LETSENCRYPT_ACCOUNT_EMAIL=*

==================== DOCKER INFO ====================
DOCKER VERSION: Docker version 25.0.3, build 4debf41

DOCKER PROCESSES (docker ps -a)

CONTAINER ID   IMAGE                              COMMAND                  CREATED       STATUS                        PORTS     NAMES
e34a707c2cba   discourse/base:2.0.20231218-0429   "/bin/bash -c '/usr/…"   2 hours ago   Exited (255) 18 minutes ago             quirky_fermat

==================== SERIOUS PROBLEM!!!! ====================
app not running!
Attempting to rebuild
==================== REBUILD LOG ====================
x86_64 arch detected.
Ensuring launcher is up to date
Fetching origin
Launcher is up-to-date
2.0.20231218-0429: Pulling from discourse/base
Digest: sha256:468f70b9bb4c6d0c6c2bbb3efc1a5e12d145eae57bdb6946b7fe5558beb52dc1
Status: Image is up to date for 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-15T10:32:58.066976 #1]  INFO -- : Reading from stdin
I, [2024-02-15T10:32:58.072322 #1]  INFO -- : > locale-gen $LANG && update-locale
I, [2024-02-15T10:32:58.144173 #1]  INFO -- : Generating locales (this might take a while)...
Generation complete.

I, [2024-02-15T10:32:58.144356 #1]  INFO -- : > mkdir -p /shared/postgres_run
I, [2024-02-15T10:32:58.151295 #1]  INFO -- : 
I, [2024-02-15T10:32:58.152268 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2024-02-15T10:32:58.155924 #1]  INFO -- : 
I, [2024-02-15T10:32:58.156188 #1]  INFO -- : > chmod 775 /shared/postgres_run
I, [2024-02-15T10:32:58.159244 #1]  INFO -- : 
I, [2024-02-15T10:32:58.159572 #1]  INFO -- : > rm -fr /var/run/postgresql
I, [2024-02-15T10:32:58.162267 #1]  INFO -- : 
I, [2024-02-15T10:32:58.162579 #1]  INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2024-02-15T10:32:58.165310 #1]  INFO -- : 
I, [2024-02-15T10:32:58.165607 #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/15 10:32:58 socat[19] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): No such file or directory
I, [2024-02-15T10:32:58.188054 #1]  INFO -- : 
I, [2024-02-15T10:32:58.188429 #1]  INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2024-02-15T10:32:58.191661 #1]  INFO -- : 
I, [2024-02-15T10:32:58.191844 #1]  INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2024-02-15T10:32:58.194737 #1]  INFO -- : 
I, [2024-02-15T10:32:58.195096 #1]  INFO -- : > mkdir -p /shared/postgres_run/13-main.pg_stat_tmp
I, [2024-02-15T10:32:58.197379 #1]  INFO -- : 
I, [2024-02-15T10:32:58.197747 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run/13-main.pg_stat_tmp
I, [2024-02-15T10:32:58.199854 #1]  INFO -- : 
I, [2024-02-15T10:32:58.204841 #1]  INFO -- : File > /etc/service/postgres/run  chmod: +x  chown: 
I, [2024-02-15T10:32:58.209036 #1]  INFO -- : File > /etc/service/postgres/log/run  chmod: +x  chown: 
I, [2024-02-15T10:32:58.214787 #1]  INFO -- : File > /etc/runit/3.d/99-postgres  chmod: +x  chown: 
I, [2024-02-15T10:32:58.218929 #1]  INFO -- : File > /root/upgrade_postgres  chmod: +x  chown: 
I, [2024-02-15T10:32:58.219263 #1]  INFO -- : > chown -R root /var/lib/postgresql/13/main
I, [2024-02-15T10:32:59.721972 #1]  INFO -- : 
I, [2024-02-15T10:32:59.722380 #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-15T10:32:59.724421 #1]  INFO -- : 
I, [2024-02-15T10:32:59.724554 #1]  INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2024-02-15T10:32:59.751357 #1]  INFO -- : 
I, [2024-02-15T10:32:59.751770 #1]  INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2024-02-15T10:32:59.754527 #1]  INFO -- : 
I, [2024-02-15T10:32:59.754836 #1]  INFO -- : > /root/upgrade_postgres
I, [2024-02-15T10:32:59.760384 #1]  INFO -- : 
I, [2024-02-15T10:32:59.760719 #1]  INFO -- : > rm /root/upgrade_postgres
I, [2024-02-15T10:32:59.762618 #1]  INFO -- : 
I, [2024-02-15T10:32:59.763346 #1]  INFO -- : Replacing data_directory = '/var/lib/postgresql/13/main' with data_directory = '/shared/postgres_data' in /etc/postgresql/13/main/postgresql.conf
I, [2024-02-15T10:32:59.763898 #1]  INFO -- : Replacing (?-mix:#?listen_addresses *=.*) with listen_addresses = '*' in /etc/postgresql/13/main/postgresql.conf
I, [2024-02-15T10:32:59.764407 #1]  INFO -- : Replacing (?-mix:#?synchronous_commit *=.*) with synchronous_commit = $db_synchronous_commit in /etc/postgresql/13/main/postgresql.conf
I, [2024-02-15T10:32:59.764961 #1]  INFO -- : Replacing (?-mix:#?shared_buffers *=.*) with shared_buffers = $db_shared_buffers in /etc/postgresql/13/main/postgresql.conf
I, [2024-02-15T10:32:59.765445 #1]  INFO -- : Replacing (?-mix:#?work_mem *=.*) with work_mem = $db_work_mem in /etc/postgresql/13/main/postgresql.conf
I, [2024-02-15T10:32:59.765966 #1]  INFO -- : Replacing (?-mix:#?default_text_search_config *=.*) with default_text_search_config = '$db_default_text_search_config' in /etc/postgresql/13/main/postgresql.conf
I, [2024-02-15T10:32:59.766437 #1]  INFO -- : > install -d -m 0755 -o postgres -g postgres /shared/postgres_backup
I, [2024-02-15T10:32:59.772080 #1]  INFO -- : 
I, [2024-02-15T10:32:59.772535 #1]  INFO -- : Replacing (?-mix:#?checkpoint_segments *=.*) with checkpoint_segments = $db_checkpoint_segments in /etc/postgresql/13/main/postgresql.conf
I, [2024-02-15T10:32:59.772939 #1]  INFO -- : Replacing (?-mix:#?logging_collector *=.*) with logging_collector = $db_logging_collector in /etc/postgresql/13/main/postgresql.conf
I, [2024-02-15T10:32:59.773467 #1]  INFO -- : Replacing (?-mix:#?log_min_duration_statement *=.*) with log_min_duration_statement = $db_log_min_duration_statement in /etc/postgresql/13/main/postgresql.conf
I, [2024-02-15T10:32:59.774259 #1]  INFO -- : Replacing (?-mix:^#local +replication +postgres +peer$) with local replication postgres  peer in /etc/postgresql/13/main/pg_hba.conf
I, [2024-02-15T10:32:59.774561 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*127.*$) with host all all 0.0.0.0/0 md5 in /etc/postgresql/13/main/pg_hba.conf
I, [2024-02-15T10:32:59.775081 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*::1\/128.*$) with host all all ::/0 md5 in /etc/postgresql/13/main/pg_hba.conf
I, [2024-02-15T10:32:59.775507 #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-15T10:32:59.778511 #1]  INFO -- : > sleep 5
2024-02-15 10:32:59.875 UTC [42] LOG:  starting PostgreSQL 13.13 (Debian 13.13-1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
2024-02-15 10:32:59.876 UTC [42] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2024-02-15 10:32:59.877 UTC [42] LOG:  listening on IPv6 address "::", port 5432
2024-02-15 10:32:59.880 UTC [42] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2024-02-15 10:32:59.886 UTC [45] LOG:  database system was shut down at 2024-02-15 10:30:20 UTC
2024-02-15 10:32:59.891 UTC [42] LOG:  database system is ready to accept connections
I, [2024-02-15T10:33:04.781190 #1]  INFO -- : 
I, [2024-02-15T10:33:04.781481 #1]  INFO -- : > su postgres -c 'createdb discourse' || true
2024-02-15 10:33:04.885 UTC [55] postgres@postgres ERROR:  database "discourse" already exists
2024-02-15 10:33:04.885 UTC [55] postgres@postgres STATEMENT:  CREATE DATABASE discourse;
createdb: error: database creation failed: ERROR:  database "discourse" already exists
I, [2024-02-15T10:33:04.887989 #1]  INFO -- : 
I, [2024-02-15T10:33:04.888519 #1]  INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
2024-02-15 10:33:04.950 UTC [59] postgres@discourse ERROR:  role "discourse" already exists
2024-02-15 10:33:04.950 UTC [59] postgres@discourse STATEMENT:  create user discourse;
ERROR:  role "discourse" already exists
I, [2024-02-15T10:33:04.952839 #1]  INFO -- : 
I, [2024-02-15T10:33:04.953301 #1]  INFO -- : > su postgres -c 'psql discourse -c "grant all privileges on database discourse to discourse;"' || true
I, [2024-02-15T10:33:05.002768 #1]  INFO -- : GRANT

I, [2024-02-15T10:33:05.003148 #1]  INFO -- : > su postgres -c 'psql discourse -c "alter schema public owner to discourse;"'
I, [2024-02-15T10:33:05.053723 #1]  INFO -- : ALTER SCHEMA

I, [2024-02-15T10:33:05.053931 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists hstore;"'
NOTICE:  extension "hstore" already exists, skipping
I, [2024-02-15T10:33:05.110606 #1]  INFO -- : CREATE EXTENSION

I, [2024-02-15T10:33:05.111079 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists pg_trgm;"'
NOTICE:  extension "pg_trgm" already exists, skipping
I, [2024-02-15T10:33:05.156719 #1]  INFO -- : CREATE EXTENSION

I, [2024-02-15T10:33:05.157309 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists vector;"'
NOTICE:  extension "vector" already exists, skipping
I, [2024-02-15T10:33:05.202622 #1]  INFO -- : CREATE EXTENSION

I, [2024-02-15T10:33:05.202859 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists hstore;"'
NOTICE:  extension "hstore" already exists, skipping
I, [2024-02-15T10:33:05.253597 #1]  INFO -- : CREATE EXTENSION

I, [2024-02-15T10:33:05.254116 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists pg_trgm;"'
NOTICE:  extension "pg_trgm" already exists, skipping
I, [2024-02-15T10:33:05.298429 #1]  INFO -- : CREATE EXTENSION

I, [2024-02-15T10:33:05.298902 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists vector;"'
NOTICE:  extension "vector" already exists, skipping
I, [2024-02-15T10:33:05.348357 #1]  INFO -- : CREATE EXTENSION

I, [2024-02-15T10:33:05.348865 #1]  INFO -- : > sudo -u postgres psql discourse
I, [2024-02-15T10:33:05.352505 #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-15T10:33:05.434503 #1]  INFO -- : File > /var/lib/postgresql/take-database-backup  chmod: +x  chown: postgres:postgres
I, [2024-02-15T10:33:05.439741 #1]  INFO -- : File > /var/spool/cron/crontabs/postgres  chmod:   chown: 
I, [2024-02-15T10:33:05.439953 #1]  INFO -- : > echo postgres installed!
I, [2024-02-15T10:33:05.442035 #1]  INFO -- : postgres installed!

I, [2024-02-15T10:33:05.447602 #1]  INFO -- : File > /etc/service/redis/run  chmod: +x  chown: 
I, [2024-02-15T10:33:05.453493 #1]  INFO -- : File > /etc/service/redis/log/run  chmod: +x  chown: 
I, [2024-02-15T10:33:05.458965 #1]  INFO -- : File > /etc/runit/3.d/10-redis  chmod: +x  chown: 
I, [2024-02-15T10:33:05.459960 #1]  INFO -- : Replacing daemonize yes with  in /etc/redis/redis.conf
I, [2024-02-15T10:33:05.460629 #1]  INFO -- : Replacing (?-mix:^pidfile.*$) with  in /etc/redis/redis.conf
I, [2024-02-15T10:33:05.461384 #1]  INFO -- : > install -d -m 0755 -o redis -g redis /shared/redis_data
I, [2024-02-15T10:33:05.465040 #1]  INFO -- : 
I, [2024-02-15T10:33:05.465645 #1]  INFO -- : Replacing (?-mix:^logfile.*$) with logfile "" in /etc/redis/redis.conf
I, [2024-02-15T10:33:05.466438 #1]  INFO -- : Replacing (?-mix:^bind .*$) with  in /etc/redis/redis.conf
I, [2024-02-15T10:33:05.467357 #1]  INFO -- : Replacing (?-mix:^dir .*$) with dir /shared/redis_data in /etc/redis/redis.conf
I, [2024-02-15T10:33:05.468322 #1]  INFO -- : Replacing (?-mix:^protected-mode yes) with protected-mode no in /etc/redis/redis.conf
I, [2024-02-15T10:33:05.469224 #1]  INFO -- : Replacing # io-threads 4 with io-threads $redis_io_threads in /etc/redis/redis.conf
I, [2024-02-15T10:33:05.469833 #1]  INFO -- : > echo redis installed
I, [2024-02-15T10:33:05.473332 #1]  INFO -- : redis installed

I, [2024-02-15T10:33:05.473556 #1]  INFO -- : > cat /etc/redis/redis.conf | grep logfile
I, [2024-02-15T10:33:05.482371 #1]  INFO -- : logfile ""

I, [2024-02-15T10:33:05.482879 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2024-02-15T10:33:05.486036 #1]  INFO -- : > sleep 10
111:C 15 Feb 2024 10:33:05.494 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
111:C 15 Feb 2024 10:33:05.494 # Redis version=7.0.7, bits=64, commit=00000000, modified=0, pid=111, just started
111:C 15 Feb 2024 10:33:05.494 # Configuration loaded
111:M 15 Feb 2024 10:33:05.495 * monotonic clock: POSIX clock_gettime
111:M 15 Feb 2024 10:33:05.496 * Running mode=standalone, port=6379.
111:M 15 Feb 2024 10:33:05.496 # Server initialized
111:M 15 Feb 2024 10:33:05.497 * Loading RDB produced by version 7.0.7
111:M 15 Feb 2024 10:33:05.497 * RDB age 165 seconds
111:M 15 Feb 2024 10:33:05.497 * RDB memory usage when created 0.96 Mb
111:M 15 Feb 2024 10:33:05.498 * Done loading RDB, keys loaded: 34, keys expired: 0.
111:M 15 Feb 2024 10:33:05.498 * DB loaded from disk: 0.001 seconds
111:M 15 Feb 2024 10:33:05.498 * Ready to accept connections
I, [2024-02-15T10:33:15.489334 #1]  INFO -- : 
I, [2024-02-15T10:33:15.489635 #1]  INFO -- : > thpoff echo "thpoff is installed!"
I, [2024-02-15T10:33:15.493689 #1]  INFO -- : thpoff is installed!

I, [2024-02-15T10:33:15.493894 #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-15T10:33:15.558077 #1]  INFO -- : 
I, [2024-02-15T10:33:15.558490 #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-15T10:33:15.637632 #1]  INFO -- : 
I, [2024-02-15T10:33:15.638063 #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-15T10:33:15.705466 #1]  INFO -- : 
I, [2024-02-15T10:33:15.705909 #1]  INFO -- : > rm -f /etc/cron.d/anacron
I, [2024-02-15T10:33:15.710220 #1]  INFO -- : 
I, [2024-02-15T10:33:15.713372 #1]  INFO -- : File > /etc/cron.d/anacron  chmod:   chown: 
I, [2024-02-15T10:33:15.718596 #1]  INFO -- : File > /etc/runit/1.d/copy-env  chmod: +x  chown: 
I, [2024-02-15T10:33:15.722935 #1]  INFO -- : File > /etc/service/unicorn/run  chmod: +x  chown: 
I, [2024-02-15T10:33:15.727457 #1]  INFO -- : File > /etc/service/nginx/run  chmod: +x  chown: 
I, [2024-02-15T10:33:15.732032 #1]  INFO -- : File > /etc/runit/3.d/01-nginx  chmod: +x  chown: 
I, [2024-02-15T10:33:15.736451 #1]  INFO -- : File > /etc/runit/3.d/02-unicorn  chmod: +x  chown: 
I, [2024-02-15T10:33:15.736788 #1]  INFO -- : Replacing # postgres with sv start postgres || exit 1 in /etc/service/unicorn/run
I, [2024-02-15T10:33:15.737110 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2024-02-15T10:33:15.739873 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git reset --hard
138:C 15 Feb 2024 10:33:15.744 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
138:C 15 Feb 2024 10:33:15.744 # Redis version=7.0.7, bits=64, commit=00000000, modified=0, pid=138, just started
138:C 15 Feb 2024 10:33:15.744 # Configuration loaded
138:M 15 Feb 2024 10:33:15.746 * monotonic clock: POSIX clock_gettime
138:M 15 Feb 2024 10:33:15.746 # Warning: Could not create server TCP listening socket *:6379: bind: Address already in use
138:M 15 Feb 2024 10:33:15.746 # Failed listening on port 6379 (TCP), aborting.
Updating files:  39% (13472/33715)
Updating files:  40% (13486/33715)
Updating files:  41% (13824/33715)
Updating files:  42% (14161/33715)
Updating files:  43% (14498/33715)
Updating files:  44% (14835/33715)
Updating files:  45% (15172/33715)
Updating files:  46% (15509/33715)
Updating files:  47% (15847/33715)
Updating files:  48% (16184/33715)
Updating files:  49% (16521/33715)
Updating files:  50% (16858/33715)
Updating files:  51% (17195/33715)
Updating files:  52% (17532/33715)
Updating files:  53% (17869/33715)
Updating files:  54% (18207/33715)
Updating files:  55% (18544/33715)
Updating files:  56% (18881/33715)
Updating files:  57% (19218/33715)
Updating files:  58% (19555/33715)
Updating files:  59% (19892/33715)
Updating files:  60% (20229/33715)
Updating files:  61% (20567/33715)
Updating files:  62% (20904/33715)
Updating files:  63% (21241/33715)
Updating files:  64% (21578/33715)
Updating files:  65% (21915/33715)
Updating files:  66% (22252/33715)
Updating files:  67% (22590/33715)
Updating files:  68% (22927/33715)
Updating files:  69% (23264/33715)
Updating files:  70% (23601/33715)
Updating files:  71% (23938/33715)
Updating files:  72% (24275/33715)
Updating files:  73% (24612/33715)
Updating files:  74% (24950/33715)
Updating files:  75% (25287/33715)
Updating files:  76% (25624/33715)
Updating files:  77% (25961/33715)
Updating files:  78% (26298/33715)
Updating files:  79% (26635/33715)
Updating files:  80% (26972/33715)
Updating files:  81% (27310/33715)
Updating files:  82% (27647/33715)
Updating files:  83% (27984/33715)
Updating files:  84% (28321/33715)
Updating files:  85% (28658/33715)
Updating files:  86% (28995/33715)
Updating files:  87% (29333/33715)
Updating files:  88% (29670/33715)
Updating files:  89% (30007/33715)
Updating files:  90% (30344/33715)
Updating files:  91% (30681/33715)
Updating files:  92% (31018/33715)
Updating files:  93% (31355/33715)
Updating files:  94% (31693/33715)
Updating files:  94% (32000/33715)
Updating files:  95% (32030/33715)
Updating files:  96% (32367/33715)
Updating files:  97% (32704/33715)
Updating files:  98% (33041/33715)
Updating files:  99% (33378/33715)
Updating files: 100% (33715/33715)
Updating files: 100% (33715/33715), done.
I, [2024-02-15T10:33:18.782143 #1]  INFO -- : HEAD is now at 6ab1a19e9 DEV: Convert min_trust_level_to_allow_invite to groups (#24893)

I, [2024-02-15T10:33:18.782611 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git clean -f
I, [2024-02-15T10:33:18.995525 #1]  INFO -- : 
I, [2024-02-15T10:33:18.995981 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse bash -c '
  set -o errexit
  if [ $(git rev-parse --is-shallow-repository) == "true" ]; then
      git remote set-branches --add origin main
      git remote set-branches origin tests-passed
      git fetch --depth 1 origin tests-passed
  else
      git fetch --tags --prune-tags --prune --force origin
  fi
'
From https://github.com/discourse/discourse
 - [deleted]             (none)     -> origin/0-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/plugin-extra-js
 - [deleted]             (none)     -> origin/table-builder-modal-modifier
 - [deleted]             (none)     -> origin/tests-passed-broken
 - [deleted]             (none)     -> origin/wip_categories
 - [deleted]             (none)     -> origin/wizard-split
   6ab1a19e9..cb8958f20  main                    -> origin/main
 * [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-fix-perf-watched-words -> origin/0-fix-perf-watched-words
 * [new branch]          0-rev                   -> origin/0-rev
 * [new branch]          0-screen-track          -> origin/0-screen-track
 * [new branch]          add-api-for-forced-auth -> origin/add-api-for-forced-auth
 * [new branch]          asciinema-iframe        -> origin/asciinema-iframe
 * [new branch]          async-category-search   -> origin/async-category-search
 * [new branch]          bulk-select-dropdown-items -> origin/bulk-select-dropdown-items
 * [new branch]          convert-header-to-glimmer -> origin/convert-header-to-glimmer
 * [new branch]          csp-strict-dynamic      -> origin/csp-strict-dynamic
 * [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/add-modifier-user-action-stream-builder -> origin/dev/add-modifier-user-action-stream-builder
 * [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
 + 79ea38776...bd0faffec dev/drop-notification_id-column-on-chat-mentions -> origin/dev/drop-notification_id-column-on-chat-mentions  (forced update)
 * [new branch]          dev/drop-the-user-id-column-from-chat-mentions -> origin/dev/drop-the-user-id-column-from-chat-mentions
 + e0c0191bb...6751ac529 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/groundwork-theme-settings-editor -> origin/dev/groundwork-theme-settings-editor
 * [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]          discover_enrollment     -> origin/discover_enrollment
 * [new branch]          extra-js-revert         -> origin/extra-js-revert
 * [new branch]          fast-edit-expand-regex  -> origin/fast-edit-expand-regex
   8780daeee..d92b6b19b  feature/bookmark-menu-and-modal-redesign -> origin/feature/bookmark-menu-and-modal-redesign
 * [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]          feature_track_mentions  -> origin/feature_track_mentions
 * [new branch]          fix_category_chooser    -> origin/fix_category_chooser
 * [new branch]          fix_in_any_groups       -> origin/fix_in_any_groups
 * [new branch]          fix_reviewable_translation -> origin/fix_reviewable_translation
   7f2bdca65..4db506cea  generic-import-latest   -> origin/generic-import-latest
 * [new branch]          hijacks                 -> origin/hijacks
 * [new branch]          issue/respect-homepage-admin-sidebar-back -> origin/issue/respect-homepage-admin-sidebar-back
 * [new branch]          issue/run-admin-sidebar-init-after-logs-notice -> origin/issue/run-admin-sidebar-init-after-logs-notice
 * [new branch]          loic-rubocop-plugin-rules -> origin/loic-rubocop-plugin-rules
 + 90a3535b7...54d0135bc migrations-convert      -> origin/migrations-convert  (forced update)
 * [new branch]          promote-migration-tweak -> origin/promote-migration-tweak
 * [new branch]          redesign-my-threads-index -> origin/redesign-my-threads-index
 * [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]          scrolling               -> origin/scrolling
 * [new branch]          sidebar-above-outlet    -> origin/sidebar-above-outlet
 * [new branch]          site-logo-height        -> origin/site-logo-height
   d7f7f79b6..92749b738  stable                  -> origin/stable
 * [new branch]          system-test-for-soft-load-search -> origin/system-test-for-soft-load-search
   6ab1a19e9..c30aeafd9  tests-passed            -> origin/tests-passed
 * [new branch]          tmp/move-notifiers-specs -> origin/tmp/move-notifiers-specs
 * [new branch]          unhide_lazy_load_categories -> origin/unhide_lazy_load_categories
 * [new branch]          universal-nonce         -> origin/universal-nonce
 * [new branch]          user-menu-full-name     -> origin/user-menu-full-name
 * [new branch]          ux-label-bold           -> origin/ux-label-bold
 * [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-15T10:33:21.020697 #1]  INFO -- : 
I, [2024-02-15T10:33:21.020828 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse bash -c '
  set -o errexit
  if [[ $(git symbolic-ref --short HEAD) == tests-passed ]] ; then
      git pull
  else
      git -c advice.detachedHead=false checkout tests-passed
  fi
'
Switched to a new branch 'tests-passed'
I, [2024-02-15T10:33:27.398231 #1]  INFO -- : Branch 'tests-passed' set up to track remote branch 'tests-passed' from 'origin'.

I, [2024-02-15T10:33:27.398367 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git config user.discourse-version tests-passed
I, [2024-02-15T10:33:27.409709 #1]  INFO -- : 
I, [2024-02-15T10:33:27.409806 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp
I, [2024-02-15T10:33:27.414863 #1]  INFO -- : 
I, [2024-02-15T10:33:27.415285 #1]  INFO -- : > cd /var/www/discourse && chown discourse:www-data tmp
I, [2024-02-15T10:33:27.419956 #1]  INFO -- : 
I, [2024-02-15T10:33:27.420033 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/pids
I, [2024-02-15T10:33:27.423192 #1]  INFO -- : 
I, [2024-02-15T10:33:27.423258 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/sockets
I, [2024-02-15T10:33:27.426439 #1]  INFO -- : 
I, [2024-02-15T10:33:27.426506 #1]  INFO -- : > cd /var/www/discourse && touch tmp/.gitkeep
I, [2024-02-15T10:33:27.437513 #1]  INFO -- : 
I, [2024-02-15T10:33:27.437625 #1]  INFO -- : > cd /var/www/discourse && mkdir -p                    /shared/log/rails
I, [2024-02-15T10:33:27.443985 #1]  INFO -- : 
I, [2024-02-15T10:33:27.444072 #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-15T10:33:27.448513 #1]  INFO -- : 
I, [2024-02-15T10:33:27.448609 #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-15T10:33:27.452785 #1]  INFO -- : 
I, [2024-02-15T10:33:27.452858 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/{uploads,backups}"
I, [2024-02-15T10:33:27.456712 #1]  INFO -- : 
I, [2024-02-15T10:33:27.456788 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/{uploads,backups} /var/www/discourse/public"
I, [2024-02-15T10:33:27.460782 #1]  INFO -- : 
I, [2024-02-15T10:33:27.460919 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/tmp/{backups,restores}"
I, [2024-02-15T10:33:27.464865 #1]  INFO -- : 
I, [2024-02-15T10:33:27.465167 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/tmp/{backups,restores} /var/www/discourse/tmp"
I, [2024-02-15T10:33:27.468963 #1]  INFO -- : 
I, [2024-02-15T10:33:27.469128 #1]  INFO -- : > cd /var/www/discourse && chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp
I, [2024-02-15T10:33:27.474059 #1]  INFO -- : 
I, [2024-02-15T10:33:27.474159 #1]  INFO -- : > cd /var/www/discourse && [ ! -d public/plugins ] || find public/plugins/ -maxdepth 1 -xtype l -delete
I, [2024-02-15T10:33:27.476508 #1]  INFO -- : 
I, [2024-02-15T10:33:27.476825 #1]  INFO -- : Replacing # redis with sv start redis || exit 1 in /etc/service/unicorn/run
I, [2024-02-15T10:33:27.477168 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/docker_manager.git
Cloning into 'docker_manager'...
I, [2024-02-15T10:33:29.856181 #1]  INFO -- : 
I, [2024-02-15T10:33:29.856587 #1]  INFO -- : > cp /var/www/discourse/config/nginx.sample.conf /etc/nginx/conf.d/discourse.conf
I, [2024-02-15T10:33:29.860625 #1]  INFO -- : 
I, [2024-02-15T10:33:29.860903 #1]  INFO -- : > rm /etc/nginx/sites-enabled/default
I, [2024-02-15T10:33:29.864710 #1]  INFO -- : 
I, [2024-02-15T10:33:29.864911 #1]  INFO -- : > mkdir -p /var/nginx/cache
I, [2024-02-15T10:33:29.868193 #1]  INFO -- : 
I, [2024-02-15T10:33:29.868767 #1]  INFO -- : Replacing pid /run/nginx.pid; with daemon off; in /etc/nginx/nginx.conf
I, [2024-02-15T10:33:29.869091 #1]  INFO -- : Replacing (?m-ix:upstream[^\}]+\}) with upstream discourse { server 127.0.0.1:3000; } in /etc/nginx/conf.d/discourse.conf
I, [2024-02-15T10:33:29.869415 #1]  INFO -- : Replacing (?-mix:server_name.+$) with server_name _ ; in /etc/nginx/conf.d/discourse.conf
I, [2024-02-15T10:33:29.869918 #1]  INFO -- : Replacing (?-mix:client_max_body_size.+$) with client_max_body_size $upload_size ; in /etc/nginx/conf.d/discourse.conf
I, [2024-02-15T10:33:29.870365 #1]  INFO -- : Replacing (?-mix:worker_connections.+$) with worker_connections $nginx_worker_connections ; in /etc/nginx/nginx.conf
I, [2024-02-15T10:33:29.870684 #1]  INFO -- : > echo "done configuring web"
I, [2024-02-15T10:33:29.872978 #1]  INFO -- : done configuring web

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

I, [2024-02-15T10:33:30.711498 #1]  INFO -- : > cd /var/www/discourse && find /var/www/discourse ! -user discourse -exec chown discourse {} \+
I, [2024-02-15T10:33:34.307137 #1]  INFO -- : 
I, [2024-02-15T10:33:34.307628 #1]  INFO -- : > cd /var/www/discourse && if [ "tests-passed" != "tests-passed" ]; then
  rm -rf app/assets/javascripts/node_modules
fi
I, [2024-02-15T10:33:34.309730 #1]  INFO -- : 
I, [2024-02-15T10:33:34.309933 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'yarn install --frozen-lockfile && yarn cache clean'
warning "@discourse/lint-configs > eslint-plugin-ember > ember-eslint-parser@0.2.5" has unmet peer dependency "@typescript-eslint/parser@^6.15.0".
warning "@discourse/lint-configs > eslint-plugin-ember > ember-eslint-parser@0.2.5" has incorrect peer dependency "typescript@^5.3.3".
warning " > @glint/environment-ember-loose@1.3.0" has unmet peer dependency "@glimmer/component@^1.1.2".
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-11c50905-365e-459d-8c6c-c8b5753a7862 > discourse > @uppy/aws-s3@3.0.6" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-11c50905-365e-459d-8c6c-c8b5753a7862 > discourse > @uppy/aws-s3-multipart@3.1.3" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-11c50905-365e-459d-8c6c-c8b5753a7862 > discourse > @uppy/xhr-upload@3.1.1" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-11c50905-365e-459d-8c6c-c8b5753a7862 > discourse > ember-router-service-refresh-polyfill@1.1.0" has incorrect peer dependency "ember-source@^3.4 || 4".
warning "workspace-aggregator-11c50905-365e-459d-8c6c-c8b5753a7862 > discourse-plugins > ember-this-fallback@0.4.0" has unmet peer dependency "ember-source@^3.28.11 || ^4.0.0".
warning "workspace-aggregator-11c50905-365e-459d-8c6c-c8b5753a7862 > admin > ember-source > router_js@8.0.3" has unmet peer dependency "rsvp@^4.8.5".
warning "workspace-aggregator-11c50905-365e-459d-8c6c-c8b5753a7862 > discourse > @uppy/aws-s3 > @uppy/xhr-upload@3.3.0" has incorrect peer dependency "@uppy/core@^3.2.1".
I, [2024-02-15T10:36:32.516222 #1]  INFO -- : yarn install v1.22.19
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
[4/5] Linking dependencies...
[5/5] Building fresh packages...
$ 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] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
$ ./run-patch-package
patch-package 8.0.0
Applying patches...
@ember/test-helpers@2.9.4 ✔
babel-plugin-debug-macros@0.3.4 ✔
content-tag@2.0.1 ✔
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 ✔
Done in 74.39s.
Done in 171.35s.
yarn cache v1.22.19
success Cleared cache.
Done in 6.23s.

I, [2024-02-15T10:36:32.521200 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle config --local deployment true'
I, [2024-02-15T10:36:32.867913 #1]  INFO -- : 
I, [2024-02-15T10:36:32.868310 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle config --local without "development test"'
I, [2024-02-15T10:36:33.035500 #1]  INFO -- : You are replacing the current local value of without, which is currently "test:development"

I, [2024-02-15T10:36:33.035622 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle install --retry 3 --jobs 4'
I, [2024-02-15T10:36:58.988329 #1]  INFO -- : Fetching gem metadata from https://rubygems.org/.........
Fetching minitest 5.22.2
Fetching concurrent-ruby 1.2.3
Fetching bigdecimal 3.1.6
Fetching cbor 0.5.9.8
Installing concurrent-ruby 1.2.3
Installing minitest 5.22.2
Installing bigdecimal 3.1.6 with native extensions
Installing cbor 0.5.9.8 with native extensions
Fetching excon 0.109.0
Installing excon 0.109.0
Fetching fastimage 2.3.0
Fetching google-protobuf 3.25.2 (x86_64-linux)
Installing fastimage 2.3.0
Fetching highline 3.0.1
Installing highline 3.0.1
Installing google-protobuf 3.25.2 (x86_64-linux)
Fetching image_size 3.4.0
Installing image_size 3.4.0
Fetching regexp_parser 2.9.0
Fetching zeitwerk 2.6.13
Installing regexp_parser 2.9.0
Installing zeitwerk 2.6.13
Fetching logster 2.17.1
Fetching stackprof 0.2.26
Installing stackprof 0.2.26 with native extensions
Installing logster 2.17.1
Fetching nokogiri 1.16.2 (x86_64-linux)
Installing nokogiri 1.16.2 (x86_64-linux)
Fetching request_store 1.6.0
Installing request_store 1.6.0
Fetching rack-protection 3.2.0
Installing rack-protection 3.2.0
Fetching bootsnap 1.18.3
Installing bootsnap 1.18.3 with native extensions
Fetching net-http 0.4.1
Installing net-http 0.4.1
Fetching sass-embedded 1.70.0 (x86_64-linux-gnu)
Fetching puma 6.4.2
Installing sass-embedded 1.70.0 (x86_64-linux-gnu)
Installing puma 6.4.2 with native extensions
Fetching rbtrace 0.5.1
Installing rbtrace 0.5.1 with native extensions
Fetching net-imap 0.4.10
Installing net-imap 0.4.10
Fetching net-smtp 0.4.0.1
Installing net-smtp 0.4.0.1
Fetching activesupport 7.0.8
Installing activesupport 7.0.8
Fetching tzinfo-data 1.2024.1
Installing tzinfo-data 1.2024.1
Fetching faraday-net_http 3.1.0
Installing faraday-net_http 3.1.0
Fetching sassc-embedded 1.70.0
Installing sassc-embedded 1.70.0
Fetching activemodel 7.0.8
Installing activemodel 7.0.8
Fetching faraday 2.9.0
Installing faraday 2.9.0
Fetching actionview 7.0.8
Installing actionview 7.0.8
Fetching activejob 7.0.8
Installing activejob 7.0.8
Fetching activerecord 7.0.8
Installing activerecord 7.0.8
Fetching actionpack 7.0.8
Installing actionpack 7.0.8
Fetching actionmailer 7.0.8
Installing actionmailer 7.0.8
Fetching railties 7.0.8
Installing railties 7.0.8
Bundle complete! 138 Gemfile dependencies, 170 gems now installed.
Gems in the groups 'development' and 'test' were not installed.
Bundled gems are installed into `./vendor/bundle`

I, [2024-02-15T10:36:58.988791 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'LOAD_PLUGINS=0 bundle exec rake plugin:pull_compatible_all'
I, [2024-02-15T10:37:03.050745 #1]  INFO -- : docker_manager is already at latest compatible version

I, [2024-02-15T10:37:03.051134 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
I, [2024-02-15T10:37:09.441141 #1]  INFO -- : 
I, [2024-02-15T10:37:09.441453 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile'
Node.js heap_size_limit (958.25) is less than 2048MB. Setting --max-old-space-size=2048.
111:M 15 Feb 2024 10:38:06.041 * 100 changes in 300 seconds. Saving...
111:M 15 Feb 2024 10:38:06.057 * Background saving started by pid 3440
3440:C 15 Feb 2024 10:38:06.077 * DB saved on disk
3440:C 15 Feb 2024 10:38:06.077 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB
111:M 15 Feb 2024 10:38:06.157 * Background saving terminated with success
2024-02-15 10:54:01.821 UTC [49] WARNING:  worker took too long to start; canceled
2024-02-15 10:55:16.957 UTC [3452] WARNING:  autovacuum worker started without a worker entry

我的服务器有 2 个逻辑核心和 2 GB RAM,并且我启用了 4 GB 交换空间。
它运行的是 Ubuntu 20.04。
在上一个构建中,我没有保存完整的日志,但我得到了这个:

WARNING 必须启用内存超额提交!否则,后台保存或复制在内存不足的情况下可能会失败。禁用它也可能在内存充足的情况下导致失败,请参阅 https://github.com/jemalloc/jemalloc/issues/1328。要解决此问题,请将“vm.overcommit_memory = 1”添加到 /etc/sysctl.conf 中,然后重新启动或运行命令“sysctl vm.overcommit_memory=1”使其生效。

所以我按照它说的做了,但它仍然无法运行。

这是我在ssh中看到的最后一行,然后服务器就卡死在100%磁盘读取。重启后在日志文件中找到以下两行。

感谢您提供所有详细信息。您这样做很好

但我认为这样做可能只会在下次重启前生效。重启后您需要再次执行。请参阅 MKJ 的意见部署配置 以获取使此设置永久生效的技巧。

感觉您可能内存不足(我的意思是 RAM+swap),但 2+4 应该足够了。请运行以下快速诊断并发布结果:

cat /etc/lsb-release
uptime
df -h /
free
swapon
vmstat 5 5
dmesg|egrep -i "memory|oom|kill"
ps auxrc

也请在此处分享您的 app.yml 文件——但不要包含其中的密码和机密令牌!

如果您能够建立两个 SSH 连接,您可以使用一个连接来运行应用程序重建,并使用另一个连接来查看机器正在做什么。我喜欢交替使用

vmstat 5 5
ps auxrc

您可能正在将交换空间写入远程磁盘——网络附加存储——这已知是一个问题。它会非常慢。也许会导致超时,这就是问题所在。也许有办法调整超时时间。

我找到了 这个——也许有帮助?

(至少在某些 systemd 版本中,默认的 systemd 超时为 90 秒,所以这很吻合)。

您可以尝试通过增加 postgresql 的 systemd 单元(甚至全局)中的 TimeoutStartSec 来解决此问题,但这也许只是隐藏了问题,直到下一个服务突然无法启动。

编辑:如果是这样,那么 这个建议 可能会有帮助:

您可以在 /etc/systemd/system.conf 中取消注释以下行:

DefaultTimeoutStartSec=90s
DefaultTimeoutStopSec=90s

并将值更改为您认为合适的值。

1 个赞

非常感谢您的帮助!

结果:

root@iZj6cgi365ov99veqodfgnZ:/# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.6 LTS"
root@iZj6cgi365ov99veqodfgnZ:/# uptime
 09:24:47 up 12:57,  0 users,  load average: 0.04, 0.08, 0.07
root@iZj6cgi365ov99veqodfgnZ:/# df -h /
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        59G   14G   43G  24% /
root@iZj6cgi365ov99veqodfgnZ:/# free
              total        used        free      shared  buff/cache   available
Mem:        1912944      536564       85752        2120     1290628     1186896
Swap:       2097148        3584     2093564
root@iZj6cgi365ov99veqodfgnZ:/# swapon
NAME      TYPE SIZE USED PRIO
/swapfile file   2G 3.5M   -2
root@iZj6cgi365ov99veqodfgnZ:/# vmstat 5 5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0   3868  98444 398504 870220    0    0    10     5   90  125  1  0 99  0  0
 0  0   3868 100300 398512 870424    0    0     1     3 1188 2171  1  1 98  0  0
 2  0   3868  99828 398520 870424    0    0     0     4 1117 2067  1  1 98  0  0
 0  0   3868  99324 398528 870428    0    0     0     5 1181 2186  1  0 98  0  0
 0  0   3868 104112 398584 870428    0    0     0    41 1144 2104  1  1 98  0  0
root@iZj6cgi365ov99veqodfgnZ:/# dmesg|egrep -i "memory|oom|kill"
[    0.005681] check: Scanning 1 areas for low memory corruption
[    0.005904] ACPI: Reserving FACP table memory at [mem 0x7a9e0bfe-0x7a9e0c71]
[    0.005905] ACPI: Reserving DSDT table memory at [mem 0x7a9e0040-0x7a9e0bfd]
[    0.005905] ACPI: Reserving FACS table memory at [mem 0x7a9e0000-0x7a9e003f]
[    0.005906] ACPI: Reserving SSDT table memory at [mem 0x7a9e0c72-0x7a9e18d7]
[    0.005906] ACPI: Reserving APIC table memory at [mem 0x7a9e18d8-0x7a9e1957]
[    0.005907] ACPI: Reserving SRAT table memory at [mem 0x7a9e1958-0x7a9e1a1f]
[    0.006464] Early memory node ranges
[    0.013922] PM: Registered nosave memory: [mem 0x00000000-0x00000fff]
[    0.013924] PM: Registered nosave memory: [mem 0x0009f000-0x0009ffff]
[    0.013925] PM: Registered nosave memory: [mem 0x000a0000-0x000effff]
[    0.013926] PM: Registered nosave memory: [mem 0x000f0000-0x000fffff]
[    0.013928] PM: Registered nosave memory: [mem 0x14000000-0x1511ffff]
[    0.018845] Memory: 1851216K/1990960K available (14339K kernel code, 2395K rwdata, 9288K rodata, 2768K init, 17228K bss, 139744K reserved, 0K cma-reserved)
[    0.039645] Freeing SMP alternatives memory: 40K
[    0.042284] x86/mm: Memory block size: 128MB
[    0.275835] Freeing initrd memory: 53892K
[    0.276020] check: Scanning for low memory corruption every 60 seconds
[    0.658145] Freeing unused decrypted memory: 2040K
[    0.658779] Freeing unused kernel image memory: 2768K
[    0.659406] Freeing unused kernel image memory: 2036K
[    0.659689] Freeing unused kernel image memory: 952K
root@iZj6cgi365ov99veqodfgnZ:/# ps auxrc
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root        8756  0.1  3.0 684704 58528 ?        Rl   09:16   0:00 node
root        9225  0.0  0.1  11488  3248 pts/0    R+   09:26   0:00 ps

app.yml:

## this is the all-in-one, standalone Discourse Docker container template
##
## After making changes to this file, you MUST rebuild
## /var/discourse/launcher rebuild app
##
## BE *VERY* CAREFUL WHEN EDITING!
## YAML FILES ARE SUPER SUPER SENSITIVE TO MISTAKES IN WHITESPACE OR ALIGNMENT!
## visit http://www.yamllint.com/ to validate this file as needed

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  ## Uncomment the next line to enable the IPv6 listener
  #- "templates/web.ipv6.template.yml"
  - "templates/web.ratelimited.template.yml"
  ## Uncomment these two lines if you wish to add Lets Encrypt (https)
  - "templates/web.ssl.template.yml"
  - "templates/web.letsencrypt.ssl.template.yml"

## which TCP/IP ports should this container expose?
## If you want Discourse to share a port with another webserver like Apache or nginx,
## see https://meta.discourse.org/t/17247 for details
expose:
  - "80:80"   # http
  - "443:443" # https

params:
  db_default_text_search_config: "pg_catalog.english"

  ## Set db_shared_buffers to a max of 25% of the total memory.
  ## will be set automatically by bootstrap based on detected RAM, or you can override
  db_shared_buffers: "256MB"
  upload_size: 300m
  ## can improve sorting performance, but adds memory usage per-connection
  #db_work_mem: "40MB"

  ## Which Git revision should this container use? (default: tests-passed)
  #version: tests-passed

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

  ## How many concurrent web requests are supported? Depends on memory and CPU cores.
  ## will be set automatically by bootstrap based on detected CPUs, or you can override
  UNICORN_WORKERS: 2

  ## TODO: The domain name this Discourse instance will respond to
  ## Required. Discourse will not work with a bare IP number.
  DISCOURSE_HOSTNAME: *

  ## Uncomment if you want the container to be started with the same
  ## hostname (-h option) as specified above (default "$hostname-$config")
  #DOCKER_USE_HOSTNAME: true

  ## TODO: List of comma delimited emails that will be made admin and developer
  ## on initial signup example 'user1@example.com,user2@example.com'
  DISCOURSE_DEVELOPER_EMAILS: *

  ## TODO: The SMTP mail server used to validate new accounts and send notifications
  # SMTP ADDRESS, username, and password are required
  # WARNING the char '#' in SMTP password can cause problems!
  DISCOURSE_SMTP_ADDRESS: *
  DISCOURSE_SMTP_PORT: *
  DISCOURSE_SMTP_USER_NAME: *
  DISCOURSE_SMTP_PASSWORD: *
  #DISCOURSE_SMTP_ENABLE_START_TLS: true           # (optional, default true)
  DISCOURSE_SMTP_DOMAIN: *
  DISCOURSE_NOTIFICATION_EMAIL: *

  ## If you added the Lets Encrypt template, uncomment below to get a free SSL certificate
  LETSENCRYPT_ACCOUNT_EMAIL: me@example.com

  ## The http or https CDN address for this Discourse instance (configured to pull)
  ## see https://meta.discourse.org/t/14857 for details
  #DISCOURSE_CDN_URL: https://discourse-cdn.example.com
  
  ## The maxmind geolocation IP address key for IP address lookup
  ## see https://meta.discourse.org/t/-/137387/23 for details
  #DISCOURSE_MAXMIND_LICENSE_KEY: 1234567890123456

## The Docker container is stateless; all data is stored in /shared
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

## Plugins go here
## see https://meta.discourse.org/t/19157 for details
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git

## Any custom commands to run after building
run:
  - exec: echo "Beginning of custom commands"
  ## If you want to set the 'From' email address for your first registration, uncomment and change:
  ## After getting the first signup email, re-comment the line. It only needs to run once.
  #- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
  - exec: echo "End of custom commands"

正如我之前提到的,我使用的是云服务器。实际上,云服务器仪表板提供了服务器状态的实时监控,我是在服务器冻结后根据仪表板数据才意识到磁盘读取达到 100% 的。在正常使用时,我通常会打开另一个终端并运行 top 命令。在崩溃之前,我可以在 top 命令中看到 CPU 的 wa 值达到 90 或更高。

至于磁盘……我不确定云服务提供商是如何连接他们的磁盘的。在仪表板上,我观察到磁盘的性能处于满负荷状态,读取速度约为 2500 IOPS。

此外,由于我所有的服务都运行在系统磁盘上,我认为延迟不应该高到导致超时,对吗?毕竟,系统本身也无法承受极高的延迟。

我对 Linux 不是很熟悉,所以以上只是我的猜测。如果您有任何建议,请随时分享。我非常感谢社区提供的任何帮助。

(我正在使用翻译软件,所以如果我的语言有任何不准确或不自然的地方,请原谅。)

我注意到您似乎在日志中搜索与 OOM 相关的内容?上次崩溃后我已经重启了,所以不确定之前的运行记录是否还在日志中?

实际上,我没有运行此命令。相反,我只是编辑了 sysctl.conf,我认为这可能是永久性的?

我将值更改为 600 秒并重新启动,然后再次运行 ./launch bootstrap app。不幸的是,问题仍然存在。这是我的 SSH 连接断开后的最后一次 top 输出和日志。

如果需要任何调试信息,我将暂时保持服务器处于崩溃状态而不重新启动。

以下是来自阿里云仪表板的监控数据。


崩溃后,“cpu_total”数据变得不连续,只能偶尔获取,因此图表中的图形显示为明显的锯齿状。然而,IOPS数据仍然相对连续。

此时,RAM使用率几乎保持在100%。但是,官方的Discourse文档不是说1GB对于小型社区来说完全足够吗?

我完全感到困惑。

对于社区来说是足够的,但你需要至少 2GB 才能重建。这应该会更新,因为我们收到了太多关于内存不足的问题。

但我不知道你的问题是否由此引起。

我以前没听说过,能够用 1GB 内存服务器成功进行控制台重建,但一些 UX 更新器尝试失败了。

添加交换空间而不是内存可能会有帮助。

由于他们写道核心系统最近有一些/许多重大更改,因此较新的当前版本的 discourse 可能比以前的版本需要更多的内存才能正常工作。

暂时安装一个较低版本的 Discourse 似乎是可行的……但这真的能解决我目前的问题吗?或者,如果我成功安装了较低版本,这是否意味着 2GB 内存确实不足以构建最新版本的 Discourse?

我已经达到了新用户的每日回复上限……所以,我只能通过编辑此回复来添加更多信息。抱歉。

我使用的是阿里云的轻量应用服务器,可以升级配置到 4GB 内存。但由于套餐的性价比,我的网络配置也会随之升级,而我并不需要,特别是考虑到近乎翻倍的价格。而且,这台服务器不支持备份数据后降级配置,所以可能只能使用 2 核 2GB 内存的配置。或者,我可以暂时开一个非按月计费的高配服务器来完成构建,然后有没有办法将整个构建好的应用上传到某个地方,再下载到我的服务器上直接运行?如果我确保系统软件环境一致,这样可行吗?我对 Docker 和构建过程不太了解,如果有什么类似的可行方案,麻烦各位大神指点一下。

另起一行……

我目前拥有的服务器配置是 2 核 2GB 内存,60GB ESSD 系统盘,2TB 流量,30Mbps 峰值带宽,包含公网 IP。月费 34 元(约 4.78 美元),我觉得非常便宜。

鉴于其极低的售价,我不得不忍受其不能更改配置项作为套餐且升级后不能降级的缺点 :rofl:

分割线……

好的,我刚刚重启了服务器。令人惊讶的是,在保存的日志末尾有这样一行引起了我的注意,我好像从来没见过。

3440:C 16 Feb 2024 03:03:04.088 * DB saved on disk
3440:C 16 Feb 2024 03:03:04.088 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB
111:M 16 Feb 2024 03:03:04.167 * Background saving terminated with success
111:M 16 Feb 2024 03:58:50.500 * Replication backlog freed after 3600 seconds without connected replicas.

现在我将增大 swap 文件大小再试一次,并运行 vmstat
等等……我突然意识到我正在使用 VSCode 连接服务器,并且直接将根目录 / 设置为了工作区。VSCode 曾警告过我,对于大型工作区,它可能无法跟踪文件更改,但我猜它仍然会消耗一些 IO 和磁盘资源,对吧……?我将尝试在不打开工作区的情况下进行构建,仅通过终端连接。暂时不增加 swap,以确认这是否是问题所在。

1 个赞

我不认为这是可能的,除非有人保存了以前的版本以供新安装使用。

我自己也不是专家,这里有一些专家可能知道你想要的答案。

如果你能暂时增加内存来重建,那么之后你也许可以减少内存以降低服务器成本。

编辑:看到你今天不能再回复了,因为你是新成员,好吧,明天再聊。

这是数字海洋服务器的价格图,除非对磁盘进行了更改,否则这些更改可以被撤销:

1 个赞

感谢所有回复和补充的细节。

确实,在重启之前搜索 OOM(内存不足)和类似情况可能很有用,而不是在重启之后。所以,如果你还没有重启,请重复操作。

在重建进入关键部分时,在第二个连接中同时运行 vmstat 5 可能会提供信息。

但实际上我只有两个假设:

  • 内存短缺,这可能导致进展缓慢或导致某些东西被终止
  • 由于进展缓慢而耗尽时间

很遗憾你的提供商不允许增加和减少 RAM。

确实,初始安装以及之后每隔一两个月需要重建的更新比以前需要更多的内存。但是
内存 = RAM + 交换空间
因此,只要没有时间压力,添加交换空间应该会成功。

你有很多磁盘空间。我建议你添加第二个和第三个交换文件。请参阅此处的说明,并进行修改以创建新文件:

你已经有了 /swapfile,所以请使用 /swapfile.1/swapfile.2 运行这些命令。

之后,swapon 应该显示三个正在使用或可用的文件,而 free 应该显示大约 2G RAM 和大约 6G 的交换空间。

然后重试!

编辑:我注意到我的 1G RAM 实例在 app.yml 中有
db_shared_buffers: "128MB"

修改 app.yml 时要非常小心——不要添加或删除空格!

2 个赞

非常感谢大家!问题已经解决,引导成功!问题确实出在VSCode上,也许是因为我直接将根目录设置为工作区,VSCode在整个安装过程中试图跟踪所有文件更改?这是我的猜测。以前我也很困惑,因为崩溃时,磁盘读取达到峰值,而写入量很低。如果是因为大量使用交换空间,写入量应该更高。现在看来,这是因为VSCode一直在读取文件更改。由于我对系统进行了太多更改,我已经重置了我的云服务器,并计划从头开始安装。感谢所有帮助过我的人!都是我的错。

现在我已经成功构建了应用程序,构建期间的最大内存使用量为2GB RAM +大约2GB交换空间。构建期间SSH连接有一些延迟,但没有断开连接,总体来说速度相对较快。在交换空间使用高峰期,确实达到了我的ESSD的最大读取速度限制,但时间非常短暂,没有造成重大影响。

3 个赞

恭喜 Tumbleweed @tumbleweed !! :sparkler: :sparkles: :tada: :rainbow:

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.