升级导致网站离线,多久能恢复?

我昨天尝试为 https://creativecommunity.us 升级 Discourse。升级不成功,导致我们的网站离线。现在显示以下消息:
“哎呀
为这个讨论论坛提供支持的软件遇到了意外问题。我们对造成的不便深表歉意。
有关错误的详细信息已被记录,并生成了自动通知。我们会查看一下。
无需进一步操作。但是,如果错误状况持续存在,您可以通过在网站的反馈类别中发布讨论主题来提供更多详细信息,包括重现错误的步骤。”

这条消息说“我们会查看一下。”这通常需要多长时间?

谢谢 ~

1 个赞

此消息显示给用户。我认为这里的“我们”指的是“你”。因此,作为管理员,仅仅等待并不能解决问题。:cry:

你可以尝试重建。如果错误仍然存在,请将详细的错误粘贴到元(meta)上寻求帮助。:slightly_smiling_face:

6 个赞

您好,欢迎您,@Scott-CC :slight_smile:

正如 Linca 所说,第二次重建通常可以给它一个推动并解决一些问题。:crossed_fingers:

不过,由于这是一个“错误”页面,如果某处存在冲突,您也可能在 /logs 中找到更多详细信息。

尝试安全模式也值得一试。这有助于将其缩小到一个插件或主题组件,然后您可以禁用它,同时找出确切的问题所在。

2 个赞

谢谢!

我试试。谢谢!

1 个赞

不幸的是,安全模式将我带回了相同的错误消息。有什么下一步的建议吗?

我对 Discourse 完全是新手(只是在帮助朋友),所以非常感谢您提供的任何帮助。

这应该是你的下一步:

如果这仍然不起作用,你可以通过以下方式查看日志:

docker exec app ls -l /shared/log/rails/
docker exec -it app tail -f /shared/log/rails/production.log
1 个赞

谢谢。抱歉,我对此完全是新手,但要访问日志,我必须登录到主机,对吗?(Digital Ocean)

而且我完全不知道“docker exec app”是什么。抱歉。

只有当 /logs 路径在网站上不起作用时(您需要以管理员身份登录)。

1 个赞

/logs 路径导致白屏 :frowning:

能否分享一下该网站安装了哪些插件?我们或许能发现其中一个存在已知问题。\n\n在无法从日志或安全模式中获取任何额外详细信息的情况下,我认为可以尝试重建,看看是否能解决问题。如果您的 app.yml 中有任何非官方插件,也可以将其移除(然后重建),因为如果安全模式不起作用,它们通常是罪魁祸首。\n\n不过,也可以尝试管理员登录安全模式,以防网站需要登录会阻碍常规的安全模式路径。如果将 /u/admin-login 添加到您的网站地址,然后输入管理员邮箱并勾选安全模式选项,它将发送一个登录链接,或许能绕过当前的问题。这可能性不大,但仍有可能。 :slight_smile:

1 个赞

抱歉,管理员登录不起作用。

我可以访问托管服务商 Digital Ocean 的后端,但它是终端命令行 Ubuntu,我不知道该在那里做什么。

我正在帮助一位朋友,她不知道安装了哪些插件。

我记得没多少;聊天插件和可能的一两个其他插件。

感谢您的帮助。

1 个赞

编辑:看起来我以前管理过您的网站。我现在正在重建它。您还需要进行 PostgreSQL 15 更新;我也完成了。

cd /var/discourse
./launcher rebuild app

这应该可以解决问题。大约需要 10 分钟。如果不行,请检查磁盘是否已满或是否需要交换空间。

df -h
free -h

有可能您需要添加交换空间。

如果那也失败了,您想用钱解决问题,请联系我,我会让您恢复正常运行。

5 个赞

You saved our bacon! Thank you!!

1 个赞

I’m having the same issue as the OP – I tried to upgrade via the UI, but it failed and knocked the site offline.

I’ve been trying to update via the terminal (AWS), but the /launcher rebuild app hangs after about a half hour or so and simply won’t progress any further.

I’ve let it run overnight, but no joy. In fact, it seems to lock the instance and I have to restart it through the AWS console to even be able to connect again.

I thought maybe I didn’t have enough room to rebuild, but doubling the the EBS didn’t seem to help.

Here’s where I get to:

Summary
Welcome to Ubuntu 24.04 LTS (GNU/Linux 6.8.0-1031-aws x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Thu Jul 10 14:26:49 UTC 2025

  System load:  0.13               Processes:             111
  Usage of /:   56.9% of 47.39GB   Users logged in:       0
  Memory usage: 24%                IPv4 address for enX0: 172.31.60.182
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

173 updates can be applied immediately.
To see these additional updates run: apt list --upgradable

Enable ESM Apps to receive additional future security updates.
See https://ubuntu.com/esm or run: sudo pro status


Last login: Thu Jul 10 12:14:09 2025 from 18.206.107.28
ubuntu@ip-172-31-60-182:~$ cd /var/discourse/
ubuntu@ip-172-31-60-182:/var/discourse$ launcher stop app
launcher: command not found
ubuntu@ip-172-31-60-182:/var/discourse$ /launcher stop app
-bash: /launcher: No such file or directory
ubuntu@ip-172-31-60-182:/var/discourse$ ./launcher stop app
Cannot connect to the docker daemon - verify it is running and you have access
ubuntu@ip-172-31-60-182:/var/discourse$ docker status
docker: 'status' is not a docker command.
See 'docker --help'
ubuntu@ip-172-31-60-182:/var/discourse$ ./launcher update app
Cannot connect to the docker daemon - verify it is running and you have access
ubuntu@ip-172-31-60-182:/var/discourse$ ./launcher rebuild app
Cannot connect to the docker daemon - verify it is running and you have access
ubuntu@ip-172-31-60-182:/var/discourse$ docker version
Client: Docker Engine - Community
 Version:           27.1.2
 API version:       1.46
 Go version:        go1.21.13
 Git commit:        d01f264
 Built:             Mon Aug 12 11:50:54 2024
 OS/Arch:           linux/amd64
 Context:           default
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.46/version": dial unix /var/run/docker.sock: connect: permission denied
ubuntu@ip-172-31-60-182:/var/discourse$ sudo docker version
Client: Docker Engine - Community
 Version:           27.1.2
 API version:       1.46
 Go version:        go1.21.13
 Git commit:        d01f264
 Built:             Mon Aug 12 11:50:54 2024
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          27.1.2
  API version:      1.46 (minimum version 1.24)
  Go version:       go1.21.13
  Git commit:       f9522e5
  Built:            Mon Aug 12 11:50:54 2024
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.7.20
  GitCommit:        8fc6bcff51318944179630522a095cc9dbf9f353
 runc:
  Version:          1.1.13
  GitCommit:        v1.1.13-0-g58aa920
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
ubuntu@ip-172-31-60-182:/var/discourse$ sudo su -
root@ip-172-31-60-182:~# cd /var/discourse
root@ip-172-31-60-182:/var/discourse# ./launcher update app
x86_64 arch detected.
Usage: launcher COMMAND CONFIG [--skip-prereqs] [--docker-args STRING]
Commands:
    start:       Start/initialize a container
    stop:        Stop a running container
    restart:     Restart a container
    destroy:     Stop and remove a container
    enter:       Open a shell to run commands inside the container
    logs:        View the Docker logs for a container
    bootstrap:   Bootstrap a container for the config based on a template
    run:         Run the given command with the config in the context of the last bootstrapped image
    rebuild:     Rebuild a container (destroy old, bootstrap, start new)
    cleanup:     Remove all containers that have stopped for > 24 hours
    start-cmd:   Generate docker command used to start container

Options:
    --skip-prereqs             Don't check launcher prerequisites
    --docker-args              Extra arguments to pass when running docker
    --skip-mac-address         Don't assign a mac address
    --run-image                Override the image used for running the container
root@ip-172-31-60-182:/var/discourse# ./launcher run app
x86_64 arch detected.
Unable to find image 'local_discourse/app:latest' locally
docker: Error response from daemon: pull access denied for local_discourse/app, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
See 'docker run --help'.
root@ip-172-31-60-182:/var/discourse# sudo ./launcher run app
x86_64 arch detected.
Unable to find image 'local_discourse/app:latest' locally
docker: Error response from daemon: pull access denied for local_discourse/app, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
See 'docker run --help'.
root@ip-172-31-60-182:/var/discourse# ./launcher rebuild app
x86_64 arch detected.
Ensuring launcher is up to date
Launcher is up-to-date
2.0.20250710-0019: Pulling from discourse/base
Digest: sha256:9f9e69653b83259d951b2bc63393a9200a6a260db0a0b55bf85ab567f596c9a3
Status: Image is up to date for discourse/base:2.0.20250710-0019
docker.io/discourse/base:2.0.20250710-0019
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.3.0/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2025-07-10T14:34:06.749840 #1]  INFO -- : Reading from stdin
I, [2025-07-10T14:34:06.783263 #1]  INFO -- : File > /etc/service/postgres/run  chmod: +x  chown: 
I, [2025-07-10T14:34:06.787190 #1]  INFO -- : File > /etc/service/postgres/log/run  chmod: +x  chown: 
I, [2025-07-10T14:34:06.794555 #1]  INFO -- : File > /etc/runit/3.d/99-postgres  chmod: +x  chown: 
I, [2025-07-10T14:34:06.800229 #1]  INFO -- : File > /root/install_postgres  chmod: +x  chown: 
I, [2025-07-10T14:34:06.804200 #1]  INFO -- : File > /root/upgrade_postgres  chmod: +x  chown: 
I, [2025-07-10T14:34:06.808529 #1]  INFO -- : Replacing data_directory = '/var/lib/postgresql/15/main' with data_directory = '/shared/postgres_data' in /etc/postgresql/15/main/postgresql.conf
I, [2025-07-10T14:34:06.816873 #1]  INFO -- : Replacing (?-mix:#?listen_addresses *=.*) with listen_addresses = '*' in /etc/postgresql/15/main/postgresql.conf
I, [2025-07-10T14:34:06.817572 #1]  INFO -- : Replacing (?-mix:#?synchronous_commit *=.*) with synchronous_commit = $db_synchronous_commit in /etc/postgresql/15/main/postgresql.conf
I, [2025-07-10T14:34:06.821784 #1]  INFO -- : Replacing (?-mix:#?shared_buffers *=.*) with shared_buffers = $db_shared_buffers in /etc/postgresql/15/main/postgresql.conf
I, [2025-07-10T14:34:06.822781 #1]  INFO -- : Replacing (?-mix:#?work_mem *=.*) with work_mem = $db_work_mem in /etc/postgresql/15/main/postgresql.conf
I, [2025-07-10T14:34:06.824081 #1]  INFO -- : Replacing (?-mix:#?default_text_search_config *=.*) with default_text_search_config = '$db_default_text_search_config' in /etc/postgresql/15/main/postgresql.conf
I, [2025-07-10T14:34:06.825023 #1]  INFO -- : Replacing (?-mix:#?checkpoint_segments *=.*) with checkpoint_segments = $db_checkpoint_segments in /etc/postgresql/15/main/postgresql.conf
I, [2025-07-10T14:34:06.826225 #1]  INFO -- : Replacing (?-mix:#?logging_collector *=.*) with logging_collector = $db_logging_collector in /etc/postgresql/15/main/postgresql.conf
I, [2025-07-10T14:34:06.827143 #1]  INFO -- : Replacing (?-mix:#?log_min_duration_statement *=.*) with log_min_duration_statement = $db_log_min_duration_statement in /etc/postgresql/15/main/postgresql.conf
I, [2025-07-10T14:34:06.829174 #1]  INFO -- : Replacing (?-mix:^#local +replication +postgres +peer$) with local replication postgres  peer in /etc/postgresql/15/main/pg_hba.conf
I, [2025-07-10T14:34:06.831036 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*127.*$) with host all all 0.0.0.0/0 md5 in /etc/postgresql/15/main/pg_hba.conf
I, [2025-07-10T14:34:06.831299 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*::1\/128.*$) with host all all ::/0 md5 in /etc/postgresql/15/main/pg_hba.conf
I, [2025-07-10T14:34:06.832342 #1]  INFO -- : > if [ -f /root/install_postgres ]; then
  /root/install_postgres && rm -f /root/install_postgres
elif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then
  socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
fi

2025/07/10 14:34:09 socat[33] E connect(, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): Connection refused
I, [2025-07-10T14:34:09.325619 #1]  INFO -- : Generating locales (this might take a while)...
  en_US.UTF-8... done
Generation complete.

I, [2025-07-10T14:34:09.326466 #1]  INFO -- : > HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/15/bin/postmaster -D /etc/postgresql/15/main
I, [2025-07-10T14:34:09.336782 #1]  INFO -- : File > /usr/local/bin/create_db  chmod: +x  chown: 
I, [2025-07-10T14:34:09.356777 #1]  INFO -- : File > /var/lib/postgresql/take-database-backup  chmod: +x  chown: postgres:postgres
I, [2025-07-10T14:34:09.369678 #1]  INFO -- : File > /var/spool/cron/crontabs/postgres  chmod:   chown: 
I, [2025-07-10T14:34:09.370276 #1]  INFO -- : > sleep 5
2025-07-10 14:34:09.616 UTC [38] LOG:  starting PostgreSQL 15.13 (Debian 15.13-1.pgdg120+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit
2025-07-10 14:34:09.618 UTC [38] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2025-07-10 14:34:09.618 UTC [38] LOG:  listening on IPv6 address "::", port 5432
2025-07-10 14:34:09.624 UTC [38] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2025-07-10 14:34:09.651 UTC [49] LOG:  database system was interrupted; last known up at 2025-07-10 12:26:43 UTC
2025-07-10 14:34:09.723 UTC [49] LOG:  database system was not properly shut down; automatic recovery in progress
2025-07-10 14:34:09.732 UTC [49] LOG:  redo starts at B/E8A9AB18
2025-07-10 14:34:09.732 UTC [49] LOG:  invalid record length at B/E8A9AC00: wanted 24, got 0
2025-07-10 14:34:09.732 UTC [49] LOG:  redo done at B/E8A9ABC8 system usage: CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s
2025-07-10 14:34:09.741 UTC [47] LOG:  checkpoint starting: end-of-recovery immediate wait
2025-07-10 14:34:09.758 UTC [47] LOG:  checkpoint complete: wrote 3 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.005 s, sync=0.002 s, total=0.020 s; sync files=2, longest=0.001 s, average=0.001 s; distance=0 kB, estimate=0 kB
2025-07-10 14:34:09.780 UTC [38] LOG:  database system is ready to accept connections
I, [2025-07-10T14:34:14.374060 #1]  INFO -- : 
I, [2025-07-10T14:34:14.374950 #1]  INFO -- : > /usr/local/bin/create_db
2025-07-10 14:34:14.556 UTC [56] postgres@postgres ERROR:  database "discourse" already exists
2025-07-10 14:34:14.556 UTC [56] postgres@postgres STATEMENT:  CREATE DATABASE discourse;
createdb: error: database creation failed: ERROR:  database "discourse" already exists
2025-07-10 14:34:14.653 UTC [59] postgres@discourse ERROR:  role "discourse" already exists
2025-07-10 14:34:14.653 UTC [59] postgres@discourse STATEMENT:  create user discourse;
ERROR:  role "discourse" already exists
NOTICE:  extension "hstore" already exists, skipping
NOTICE:  extension "pg_trgm" already exists, skipping
NOTICE:  extension "vector" already exists, skipping
NOTICE:  version "0.8.0" of extension "vector" is already installed
NOTICE:  extension "hstore" already exists, skipping
NOTICE:  extension "pg_trgm" already exists, skipping
NOTICE:  extension "vector" already exists, skipping
NOTICE:  version "0.8.0" of extension "vector" is already installed
I, [2025-07-10T14:34:15.375245 #1]  INFO -- : GRANT
ALTER SCHEMA
CREATE EXTENSION
CREATE EXTENSION
CREATE EXTENSION
ALTER EXTENSION
CREATE EXTENSION
CREATE EXTENSION
CREATE EXTENSION
ALTER EXTENSION
UPDATE 0

I, [2025-07-10T14:34:15.375613 #1]  INFO -- : > echo postgres installed!
I, [2025-07-10T14:34:15.380090 #1]  INFO -- : postgres installed!

I, [2025-07-10T14:34:15.384491 #1]  INFO -- : File > /etc/service/redis/run  chmod: +x  chown: 
I, [2025-07-10T14:34:15.388524 #1]  INFO -- : File > /etc/service/redis/log/run  chmod: +x  chown: 
I, [2025-07-10T14:34:15.392347 #1]  INFO -- : File > /etc/runit/3.d/10-redis  chmod: +x  chown: 
I, [2025-07-10T14:34:15.394875 #1]  INFO -- : Replacing daemonize yes with  in /etc/redis/redis.conf
I, [2025-07-10T14:34:15.400010 #1]  INFO -- : Replacing (?-mix:^pidfile.*$) with  in /etc/redis/redis.conf
I, [2025-07-10T14:34:15.400706 #1]  INFO -- : > install -d -m 0755 -o redis -g redis /shared/redis_data
I, [2025-07-10T14:34:15.407363 #1]  INFO -- : 
I, [2025-07-10T14:34:15.407683 #1]  INFO -- : Replacing (?-mix:^logfile.*$) with logfile "" in /etc/redis/redis.conf
I, [2025-07-10T14:34:15.408567 #1]  INFO -- : Replacing (?-mix:^bind .*$) with  in /etc/redis/redis.conf
I, [2025-07-10T14:34:15.409953 #1]  INFO -- : Replacing (?-mix:^dir .*$) with dir /shared/redis_data in /etc/redis/redis.conf
I, [2025-07-10T14:34:15.411380 #1]  INFO -- : Replacing (?-mix:^protected-mode yes) with protected-mode no in /etc/redis/redis.conf
I, [2025-07-10T14:34:15.412629 #1]  INFO -- : Replacing # io-threads 4 with io-threads $redis_io_threads in /etc/redis/redis.conf
I, [2025-07-10T14:34:15.413828 #1]  INFO -- : > echo redis installed
I, [2025-07-10T14:34:15.415894 #1]  INFO -- : redis installed

I, [2025-07-10T14:34:15.416407 #1]  INFO -- : > cat /etc/redis/redis.conf | grep logfile
I, [2025-07-10T14:34:15.422899 #1]  INFO -- : logfile ""

I, [2025-07-10T14:34:15.423444 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2025-07-10T14:34:15.426194 #1]  INFO -- : > sleep 10
105:C 10 Jul 2025 14:34:15.460 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
105:C 10 Jul 2025 14:34:15.460 # Redis version=7.0.15, bits=64, commit=00000000, modified=0, pid=105, just started
105:C 10 Jul 2025 14:34:15.460 # Configuration loaded
105:M 10 Jul 2025 14:34:15.460 * monotonic clock: POSIX clock_gettime
105:M 10 Jul 2025 14:34:15.464 * Running mode=standalone, port=6379.
105:M 10 Jul 2025 14:34:15.465 # Server initialized
105:M 10 Jul 2025 14:34:15.465 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
105:M 10 Jul 2025 14:34:15.465 # WARNING Your system is configured to use the 'xen' clocksource which might lead to degraded performance. Check the result of the [slow-clocksource] system check: run 'redis-server --check-system' to check if the system's clocksource isn't degrading performance.
105:M 10 Jul 2025 14:34:15.471 * Loading RDB produced by version 7.0.15
105:M 10 Jul 2025 14:34:15.471 * RDB age 7659 seconds
105:M 10 Jul 2025 14:34:15.471 * RDB memory usage when created 7.58 Mb
105:M 10 Jul 2025 14:34:15.505 * Done loading RDB, keys loaded: 1240, keys expired: 18.
105:M 10 Jul 2025 14:34:15.505 * DB loaded from disk: 0.036 seconds
105:M 10 Jul 2025 14:34:15.505 * Ready to accept connections
I, [2025-07-10T14:34:25.428346 #1]  INFO -- : 
I, [2025-07-10T14:34:25.428571 #1]  INFO -- : > thpoff echo "thpoff is installed!"
I, [2025-07-10T14:34:25.433266 #1]  INFO -- : thpoff is installed!

I, [2025-07-10T14:34:25.434051 #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, [2025-07-10T14:34:25.623161 #1]  INFO -- : 
I, [2025-07-10T14:34:25.623817 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_HOSTNAME"] == "discourse.example.com"; puts "Aborting! Domain is not configured!"; exit 1; end'
I, [2025-07-10T14:34:25.707792 #1]  INFO -- : 
I, [2025-07-10T14:34:25.708514 #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, [2025-07-10T14:34:25.792429 #1]  INFO -- : 
I, [2025-07-10T14:34:25.793174 #1]  INFO -- : > rm -f /etc/cron.d/anacron
I, [2025-07-10T14:34:25.798896 #1]  INFO -- : 
I, [2025-07-10T14:34:25.801342 #1]  INFO -- : File > /etc/cron.d/anacron  chmod:   chown: 
I, [2025-07-10T14:34:25.808492 #1]  INFO -- : File > /etc/runit/1.d/copy-env  chmod: +x  chown: 
I, [2025-07-10T14:34:25.812525 #1]  INFO -- : File > /etc/service/unicorn/run  chmod: +x  chown: 
I, [2025-07-10T14:34:25.816576 #1]  INFO -- : File > /etc/service/nginx/run  chmod: +x  chown: 
I, [2025-07-10T14:34:25.820635 #1]  INFO -- : File > /etc/runit/3.d/01-nginx  chmod: +x  chown: 
I, [2025-07-10T14:34:25.824561 #1]  INFO -- : File > /etc/runit/3.d/02-unicorn  chmod: +x  chown: 
I, [2025-07-10T14:34:25.825004 #1]  INFO -- : Replacing # postgres with if [ -f /root/install_postgres ]; then
  /root/install_postgres
  rm /root/install_postgres
fi
sv start postgres || exit 1
 in /etc/service/unicorn/run
I, [2025-07-10T14:34:25.826554 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git clean -f
I, [2025-07-10T14:34:26.964358 #1]  INFO -- : 
I, [2025-07-10T14:34:26.964998 #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-a-reactions
 - [deleted]             (none)     -> origin/dev/gravatar-toggle-setting
 - [deleted]             (none)     -> origin/dev/load-admin-bundles-for-staff-only
 - [deleted]             (none)     -> origin/fix-composer-dmenu-tablets
 - [deleted]             (none)     -> origin/fix-readonly-take-2
 - [deleted]             (none)     -> origin/fix/mt/upload-optimization
   63df79592..2e11eb20b  main                   -> origin/main
 + 37e2eed7b...e8ef2f73b dev-floatkit-autocomplete-d-editor -> origin/dev-floatkit-autocomplete-d-editor  (forced update)
   a42149b9f..5f1148cc8  dev-lock-alias         -> origin/dev-lock-alias
 * [new branch]          dev/remove-automatic-backups-enabled -> origin/dev/remove-automatic-backups-enabled
 * [new branch]          edit-category-description-layout-fix -> origin/edit-category-description-layout-fix
   4ebd596a2..75d289b97  feature/composer-toolbar-heading-list -> origin/feature/composer-toolbar-heading-list
   44fb1a213..f07b9cbab  feature/theme-site-settings -> origin/feature/theme-site-settings
   7faaab65c..6043ede0a  load-post-draft-from-reply-btn -> origin/load-post-draft-from-reply-btn
 + dcaa1a5cf...cae266b62 loic-upgrade-rails-8.0 -> origin/loic-upgrade-rails-8.0  (forced update)
   b1e0591e3..e8ef2f73b  sandbox/dev-xp-1       -> origin/sandbox/dev-xp-1
   876dbe662..530fbe111  sandbox/dev-xp-2       -> origin/sandbox/dev-xp-2
   daabd040e..75d289b97  sandbox/member-xp-4    -> origin/sandbox/member-xp-4
 * [new branch]          send-email-when-signing-up-via-external-auth -> origin/send-email-when-signing-up-via-external-auth
 * [new branch]          skipped-address-filter -> origin/skipped-address-filter
   f70640f77..a83bd0f67  stable                 -> origin/stable
   6e03440b0..2e11eb20b  tests-passed           -> origin/tests-passed
 * [new branch]          translations-from-crowdin-main -> origin/translations-from-crowdin-main
 * [new branch]          translations-from-crowdin-stable -> origin/translations-from-crowdin-stable
I, [2025-07-10T14:34:28.010715 #1]  INFO -- : 
I, [2025-07-10T14:34:28.011023 #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, [2025-07-10T14:34:40.617744 #1]  INFO -- : branch 'tests-passed' set up to track 'origin/tests-passed'.

I, [2025-07-10T14:34:40.618255 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git config user.discourse-version tests-passed
I, [2025-07-10T14:34:40.629799 #1]  INFO -- : 
I, [2025-07-10T14:34:40.630226 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp
I, [2025-07-10T14:34:40.633195 #1]  INFO -- : 
I, [2025-07-10T14:34:40.633585 #1]  INFO -- : > cd /var/www/discourse && chown discourse:www-data tmp
I, [2025-07-10T14:34:40.636417 #1]  INFO -- : 
I, [2025-07-10T14:34:40.636731 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/pids
I, [2025-07-10T14:34:40.639770 #1]  INFO -- : 
I, [2025-07-10T14:34:40.640244 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/sockets
I, [2025-07-10T14:34:40.643048 #1]  INFO -- : 
I, [2025-07-10T14:34:40.643395 #1]  INFO -- : > cd /var/www/discourse && touch tmp/.gitkeep
I, [2025-07-10T14:34:40.648782 #1]  INFO -- : 
I, [2025-07-10T14:34:40.649284 #1]  INFO -- : > cd /var/www/discourse && mkdir -p                    /shared/log/rails
I, [2025-07-10T14:34:40.653705 #1]  INFO -- : 
I, [2025-07-10T14:34:40.654203 #1]  INFO -- : > cd /var/www/discourse && bash -c "touch -a           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log"
I, [2025-07-10T14:34:40.660408 #1]  INFO -- : 
I, [2025-07-10T14:34:40.660856 #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, [2025-07-10T14:34:40.669796 #1]  INFO -- : 
I, [2025-07-10T14:34:40.670284 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/{uploads,backups}"
I, [2025-07-10T14:34:40.674466 #1]  INFO -- : 
I, [2025-07-10T14:34:40.674928 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/{uploads,backups} /var/www/discourse/public"
I, [2025-07-10T14:34:40.680307 #1]  INFO -- : 
I, [2025-07-10T14:34:40.680774 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/tmp/{backups,restores}"
I, [2025-07-10T14:34:40.686442 #1]  INFO -- : 
I, [2025-07-10T14:34:40.686862 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/tmp/{backups,restores} /var/www/discourse/tmp"
I, [2025-07-10T14:34:40.691052 #1]  INFO -- : 
I, [2025-07-10T14:34:40.691529 #1]  INFO -- : > cd /var/www/discourse && chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp
I, [2025-07-10T14:34:40.943384 #1]  INFO -- : 
I, [2025-07-10T14:34:40.943501 #1]  INFO -- : > cd /var/www/discourse && [ ! -d public/plugins ] || find public/plugins/ -maxdepth 1 -xtype l -delete
I, [2025-07-10T14:34:40.946212 #1]  INFO -- : 
I, [2025-07-10T14:34:40.946735 #1]  INFO -- : Replacing # redis with if [ ! -d /shared/redis_data ]; then
  install -d -m 0755 -o redis -g redis /shared/redis_data
fi
sv start redis || exit 1 in /etc/service/unicorn/run
I, [2025-07-10T14:34:40.947772 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/docker_manager.git
Cloning into 'docker_manager'...
I, [2025-07-10T14:34:41.920020 #1]  INFO -- : 
I, [2025-07-10T14:34:41.920542 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-yearly-review
Cloning into 'discourse-yearly-review'...
I, [2025-07-10T14:34:42.189827 #1]  INFO -- : 
I, [2025-07-10T14:34:42.190570 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-cakeday
Cloning into 'discourse-cakeday'...
I, [2025-07-10T14:34:42.489411 #1]  INFO -- : 
I, [2025-07-10T14:34:42.489888 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/angusmcleod/discourse-ratings.git
Cloning into 'discourse-ratings'...
I, [2025-07-10T14:34:42.792033 #1]  INFO -- : 
I, [2025-07-10T14:34:42.792683 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-calendar
Cloning into 'discourse-calendar'...
I, [2025-07-10T14:34:43.546091 #1]  INFO -- : 
I, [2025-07-10T14:34:43.547502 #1]  INFO -- : > cp /var/www/discourse/config/nginx.sample.conf /etc/nginx/conf.d/discourse.conf
I, [2025-07-10T14:34:43.561409 #1]  INFO -- : 
I, [2025-07-10T14:34:43.561632 #1]  INFO -- : > rm /etc/nginx/sites-enabled/default
I, [2025-07-10T14:34:43.566037 #1]  INFO -- : 
I, [2025-07-10T14:34:43.566244 #1]  INFO -- : > mkdir -p /var/nginx/cache
I, [2025-07-10T14:34:43.568477 #1]  INFO -- : 
I, [2025-07-10T14:34:43.569068 #1]  INFO -- : > grep -q 'outlets/before-server' /etc/nginx/conf.d/discourse.conf || ( >&2 echo 'The "before-server" Nginx outlet is missing. This version of discourse_docker is not compatible with the chosen Discourse version.' ; exit 1 )
I, [2025-07-10T14:34:43.571902 #1]  INFO -- : 
I, [2025-07-10T14:34:43.572250 #1]  INFO -- : > grep -q 'outlets/server' /etc/nginx/conf.d/discourse.conf || ( >&2 echo 'The "server" Nginx outlet is missing. This version of discourse_docker is not compatible with the chosen Discourse version.' ; exit 1 )
I, [2025-07-10T14:34:43.575152 #1]  INFO -- : 
I, [2025-07-10T14:34:43.575592 #1]  INFO -- : > grep -q 'outlets/discourse' /etc/nginx/conf.d/discourse.conf || ( >&2 echo 'The "discourse" Nginx outlet is missing. This version of discourse_docker is not compatible with the chosen Discourse version.' ; exit 1 )
I, [2025-07-10T14:34:43.578518 #1]  INFO -- : 
I, [2025-07-10T14:34:43.578955 #1]  INFO -- : > mkdir -p /etc/nginx/conf.d/outlets/before-server
I, [2025-07-10T14:34:43.581226 #1]  INFO -- : 
I, [2025-07-10T14:34:43.581753 #1]  INFO -- : > touch /etc/nginx/conf.d/outlets/before-server/20-redirect-http-to-https.conf
I, [2025-07-10T14:34:43.583621 #1]  INFO -- : 
I, [2025-07-10T14:34:43.583900 #1]  INFO -- : > touch /etc/nginx/conf.d/outlets/before-server/30-ratelimited.conf
I, [2025-07-10T14:34:43.586013 #1]  INFO -- : 
I, [2025-07-10T14:34:43.586181 #1]  INFO -- : > mkdir -p /etc/nginx/conf.d/outlets/server
I, [2025-07-10T14:34:43.588522 #1]  INFO -- : 
I, [2025-07-10T14:34:43.589108 #1]  INFO -- : > touch /etc/nginx/conf.d/outlets/server/10-http.conf
I, [2025-07-10T14:34:43.591027 #1]  INFO -- : 
I, [2025-07-10T14:34:43.591377 #1]  INFO -- : > touch /etc/nginx/conf.d/outlets/server/20-https.conf
I, [2025-07-10T14:34:43.593154 #1]  INFO -- : 
I, [2025-07-10T14:34:43.593653 #1]  INFO -- : > touch /etc/nginx/conf.d/outlets/server/30-offline-page.conf
I, [2025-07-10T14:34:43.595616 #1]  INFO -- : 
I, [2025-07-10T14:34:43.595991 #1]  INFO -- : > mkdir -p /etc/nginx/conf.d/outlets/discourse
I, [2025-07-10T14:34:43.598072 #1]  INFO -- : 
I, [2025-07-10T14:34:43.598471 #1]  INFO -- : > touch /etc/nginx/conf.d/outlets/discourse/20-https.conf
I, [2025-07-10T14:34:43.600421 #1]  INFO -- : 
I, [2025-07-10T14:34:43.601002 #1]  INFO -- : > touch /etc/nginx/conf.d/outlets/discourse/30-ratelimited.conf
I, [2025-07-10T14:34:43.602883 #1]  INFO -- : 
I, [2025-07-10T14:34:43.604077 #1]  INFO -- : Replacing pid /run/nginx.pid; with daemon off; in /etc/nginx/nginx.conf
I, [2025-07-10T14:34:43.606485 #1]  INFO -- : Replacing (?-mix:worker_connections.+$) with worker_connections $nginx_worker_connections; in /etc/nginx/nginx.conf
I, [2025-07-10T14:34:43.606808 #1]  INFO -- : Replacing (?-mix:client_max_body_size.+$) with client_max_body_size $upload_size; in /etc/nginx/conf.d/discourse.conf
I, [2025-07-10T14:34:43.607501 #1]  INFO -- : > sed -i 's#listen 80;##g' /etc/nginx/conf.d/discourse.conf
I, [2025-07-10T14:34:43.611686 #1]  INFO -- : 
I, [2025-07-10T14:34:43.612254 #1]  INFO -- : > if [ -f "/proc/net/if_inet6" ]; then
  echo "listen 80;\nlisten [::]:80;" > /etc/nginx/conf.d/outlets/server/10-http.conf
else
  echo "listen 80;" > /etc/nginx/conf.d/outlets/server/10-http.conf
fi
I, [2025-07-10T14:34:43.614205 #1]  INFO -- : 
I, [2025-07-10T14:34:43.614712 #1]  INFO -- : > echo "done configuring web"
I, [2025-07-10T14:34:43.616568 #1]  INFO -- : done configuring web

I, [2025-07-10T14:34:43.617121 #1]  INFO -- : > cd /var/www/discourse && gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,""); print $0 }' Gemfile.lock)
I, [2025-07-10T14:34:44.144672 #1]  INFO -- : 
I, [2025-07-10T14:34:44.145379 #1]  INFO -- : > cd /var/www/discourse && find /var/www/discourse ! -user discourse -exec chown discourse {} \+
I, [2025-07-10T14:34:58.288175 #1]  INFO -- : 
I, [2025-07-10T14:34:58.298580 #1]  INFO -- : > cd /var/www/discourse && if [ -f yarn.lock ]; then
  if [ -d node_modules/.pnpm ]; then
    echo "This version of Discourse uses yarn, but pnpm node_modules are preset. Cleaning up..."
    find ./node_modules ./app/assets/javascripts/*/node_modules -mindepth 1 -maxdepth 1 -exec rm -rf {} +
  fi
  su discourse -c 'yarn install --frozen-lockfile && yarn cache clean'
else
  su discourse -c 'CI=1 pnpm install --frozen-lockfile && pnpm prune'
fi
I, [2025-07-10T14:35:07.928627 #1]  INFO -- : Scope: all 16 workspace projects
Lockfile is up to date, resolution step is skipped
Already up to date

Done in 5.4s using pnpm v9.15.9
Lockfile is up to date, resolution step is skipped
Already up to date


I, [2025-07-10T14:35:07.934991 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle install --jobs $(($(nproc) - 1)) --retry 3'
I, [2025-07-10T14:35:09.407430 #1]  INFO -- : Bundle complete! 143 Gemfile dependencies, 190 gems now installed.
Gems in the groups 'test' and 'development' were not installed.
Bundled gems are installed into `./vendor/bundle`
3 installed gems you directly depend on are looking for funding.
  Run `bundle fund` for details

I, [2025-07-10T14:35:09.407945 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle clean'
I, [2025-07-10T14:35:09.843516 #1]  INFO -- : 
I, [2025-07-10T14:35:09.844596 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'find /var/www/discourse/vendor/bundle -name cache -not -path "*/gems/*" -type d -exec rm -rf {} +'
I, [2025-07-10T14:35:13.000166 #1]  INFO -- : 
I, [2025-07-10T14:35:13.000275 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'find /var/www/discourse/vendor/bundle -name tmp -type d -exec rm -rf {} +'
I, [2025-07-10T14:35:13.145199 #1]  INFO -- : 
I, [2025-07-10T14:35:13.150515 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'LOAD_PLUGINS=0 bundle exec rake plugin:pull_compatible_all'
I, [2025-07-10T14:35:19.066578 #1]  INFO -- : discourse-cakeday is already at latest compatible version
discourse-calendar is already at latest compatible version
discourse-ratings is already at latest compatible version
discourse-yearly-review is already at latest compatible version
docker_manager is already at latest compatible version

I, [2025-07-10T14:35:19.068741 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2025-07-10T14:35:19.083032 #1]  INFO -- : > sleep 10
399:C 10 Jul 2025 14:35:19.103 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
399:C 10 Jul 2025 14:35:19.103 # Redis version=7.0.15, bits=64, commit=00000000, modified=0, pid=399, just started
399:C 10 Jul 2025 14:35:19.104 # Configuration loaded
399:M 10 Jul 2025 14:35:19.105 * monotonic clock: POSIX clock_gettime
399:M 10 Jul 2025 14:35:19.105 # Warning: Could not create server TCP listening socket *:6379: bind: Address already in use
399:M 10 Jul 2025 14:35:19.105 # Failed listening on port 6379 (TCP), aborting.
I, [2025-07-10T14:35:29.088163 #1]  INFO -- : 
I, [2025-07-10T14:35:29.089838 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
I, [2025-07-10T14:35:58.643957 #1]  INFO -- : 
I, [2025-07-10T14:35:58.671217 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake assets:precompile:build'
Node.js heap_size_limit is less than 2048MB. Setting --max-old-space-size=2048 and CHEAP_SOURCE_MAPS=1
No existing build info file found.
Running full core build...
...[ConfigLoader]
...[Babel: @embroider/macros > applyPatches]
...[Babel: pretty-text > applyPatches]
...[Babel: @ember/legacy-built-in-components > applyPatches]
...[Babel: ember-source > applyPatches]
[BABEL] Note: The code generator has deoptimised the styling of /var/www/discourse/app/assets/javascripts/discourse/ember/ember-template-compiler.js as it exceeds the max of 500KB.
[BABEL] Note: The code generator has deoptimised the styling of /var/www/discourse/app/assets/javascripts/discourse/ember/ember.js as it exceeds the max of 500KB.
...[Babel: @glimmer/component > applyPatches]
...[Babel: @ember/render-modifiers > applyPatches]
...[Babel: dialog-holder > applyPatches]
...[Babel: ember-this-fallback > applyPatches]
...[Babel: ember-cached-decorator-polyfill > applyPatches]
...[Babel: float-kit > applyPatches]
...[Babel: select-kit > applyPatches]
...[@embroider/compat/app]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
2025-07-10 14:39:10.537 UTC [47] LOG:  checkpoint starting: time
2025-07-10 14:39:15.479 UTC [47] LOG:  checkpoint complete: wrote 32 buffers (0.2%); 0 WAL file(s) added, 0 removed, 0 recycled; write=4.708 s, sync=0.009 s, total=5.522 s; sync files=23, longest=0.007 s, average=0.001 s; distance=134 kB, estimate=134 kB
105:M 10 Jul 2025 14:39:16.016 * 100 changes in 300 seconds. Saving...
105:M 10 Jul 2025 14:39:16.063 * Background saving started by pid 676
676:C 10 Jul 2025 14:39:17.341 * DB saved on disk
676:C 10 Jul 2025 14:39:17.341 * Fork CoW for RDB: current 1 MB, peak 1 MB, average 0 MB
105:M 10 Jul 2025 14:39:17.368 * Background saving terminated with success
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[SourceMapConcat]
[WARN] (broccoli-terser-sourcemap) Minifying "assets/admin.js" took: 331711ms (more than 20,000ms)
...[Babel: discourse > applyPatches]
...[SourceMapConcat]
...[Babel: discourse-plugins > applyPatches]
...[SourceMapConcat]

小更新 – 我增加了交换空间,这似乎让更新得以完成。可惜的是,尽管应用似乎在 Docker 中运行,但我的网站仍然无响应。

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