Не удается подключиться к веб-серверу после обновления до 3.4

Я только что обновил систему с помощью команды ./launcher rebuild app, и теперь сайт недоступен. При обновлении PostgreSQL и пересборке ошибок не возникло. Вот вывод утилиты discourse doctor.

DISCOURSE DOCTOR Tue Feb 4 10:56:05 PM UTC 2025
OS: Linux redacted 6.8.0-52-generic #53-Ubuntu SMP PREEMPT_DYNAMIC Sat Jan 11 00:06:25 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux


Found containers/app.yml

==================== YML SETTINGS ====================
DISCOURSE_HOSTNAME=redacted.tld
SMTP_ADDRESS=cp120.redacted.net
DEVELOPER_EMAILS=host@redacted.tld
SMTP_PASSWORD=redacted
SMTP_PORT=587
SMTP_USER_NAME=record@redacted.tld
LETSENCRYPT_ACCOUNT_EMAIL=host@redacted.tld

==================== DOCKER INFO ====================
DOCKER VERSION: Docker version 26.1.3, build 26.1.3-0ubuntu1~24.04.1

DOCKER PROCESSES (docker ps -a)

CONTAINER ID   IMAGE                 COMMAND        CREATED          STATUS          PORTS                                                                      NAMES
26b5f30922a1   local_discourse/app   "/sbin/boot"   14 minutes ago   Up 12 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   app

26b5f30922a1   local_discourse/app   "/sbin/boot"   14 minutes ago   Up 12 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   app

Discourse container app is running


==================== PLUGINS ====================
          - sudo -E -u discourse git clone https://github.com/discourse/docker_manager.git
          - sudo -E -u discourse git clone https://github.com/discourse/discourse-data-explorer.git
          - sudo -E -u discourse git clone https://github.com/discourse/discourse-affiliate.git
##          - sudo -E -u discourse git clone https://github.com/paviliondev/discourse-locations.git
##          - sudo -E -u discourse git clone https://github.com/paviliondev/discourse-events.git
##          - sudo -E -u discourse git clone https://github.com/paviliondev/discourse-custom-wizard.git
##          - sudo -E -u discourse git clone https://github.com/gdpelican/mingle.git
##          - sudo -E -u discourse git clone https://github.com/synweap15/discourse-voice-record.git
          - sudo -E -u discourse git clone https://github.com/discourse/discourse-docs.git
          - sudo -E -u discourse git clone https://github.com/discourse/discourse-calendar.git
          - sudo -E -u discourse git clone https://github.com/discourse/discourse-adplugin.git

WARNING:
You have what appear to be non-official plugins.
If you are having trouble, you should disable them and try rebuilding again.

See https://github.com/discourse/discourse/blob/main/lib/plugin/metadata.rb for the official list.

========================================
Discourse version at redacted.tld: NOT FOUND
Discourse version at localhost: NOT FOUND


==================== MEMORY INFORMATION ====================
RAM (MB): 4005

               total        used        free      shared  buff/cache   available
Mem:            3820        1257        1137          52        1788        2562
Swap:           2047          75        1972

==================== DISK SPACE CHECK ====================
---------- OS Disk Space ----------
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        38G  6.0G   30G  17% /
/dev/sdb         25G   11G   13G  46% /var/discourse
/dev/sdb         25G   11G   13G  46% /var/lib/docker

==================== DISK INFORMATION ====================
Disk /dev/sda: 38.15 GiB, 40961572864 bytes, 80003072 sectors
Disk model: QEMU HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 4F4C86C1-C38F-4B0C-BA8A-01C10D997AE4

Device      Start      End  Sectors  Size Type
/dev/sda1  528384 80003038 79474655 37.9G Linux filesystem
/dev/sda14   2048     4095     2048    1M BIOS boot
/dev/sda15   4096   528383   524288  256M EFI System

Partition table entries are not in disk order.


Disk /dev/sdb: 25 GiB, 26843545600 bytes, 52428800 sectors
Disk model: Volume
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

==================== END DISK INFORMATION ====================

==================== MAIL TEST ====================
For a robust test, get an address from http://www.mail-tester.com/
Or just send a test message to yourself.
Email address for mail test? ('n' to skip) [host@redacted.tld]:
Sending mail to host@redacted.tld. . .
Testing sending to host@redacted.tld using cp120.redacted.net:587, username:record@redacted.tld with plain auth.
SMTP server connection successful.
Sending to host@redacted.tld. . .
Mail accepted by SMTP server.
Message-ID: a9640924-a68b-4e5e-a769-3110de133c08@redacted.tld

If you do not receive the message, check your SPAM folder
or test again using a service like http://www.mail-tester.com/.

If the message is not delivered it is not a problem with Discourse.
Check the SMTP server logs for the above Message ID to see why it
failed to deliver the message.
Replacing: SMTP_PASSWORD
Replacing: LETSENCRYPT_ACCOUNT_EMAIL
Replacing: DEVELOPER_EMAILS
Replacing: DISCOURSE_DB_PASSWORD
Replacing: Sending mail to

==================== DONE! ====================

Есть какие-то идеи, что здесь может происходить?

Вы пробовали пересобирать примерно за последние 2 часа? У нас было некоторое время неполадок, но теперь всё исправлено.

Да, пересобиралось дважды за последний час

Какую ошибку вы видите при попытке зайти на сайт?

«Safari не может подключиться к серверу»

На вашем сервере попробуйте выполнить

cd /var/discourse
git rev-parse HEAD

Должно отобразиться:

# git rev-parse HEAD
efd6bc8ccbd9057c04d909ff48ecf8b704cae3ff

Да, это так

Есть ли что-то «необычное» в вашей установке? Отклонялись ли вы от стандартной процедуры установки в каком-либо месте?

Проблема, которую вы описываете, очень похожа на ту, о которой говорится в связанной теме. Но если вы видите efd6bc8... для версии discourse_docker, то у вас уже должно быть исправление :thinking:

Ничего не приходит в голову, кроме того, что у меня /var/discourse монтируется с диска в fstab. Но так он работает уже много лет.

В общем, спасибо за помощь. Дайте знать, если что-то ещё вспомнится.

Чтобы проверить, не сталкиваетесь ли вы с той же проблемой, можно выполнить что-то вроде

./launcher enter app
cat /etc/nginx/conf.d/discourse.conf

В этом файле где-то должно быть

listen 443 ssl;

Если этой строки нет, то это тот же симптом, что и в другой теме.

Если же она присутствует… то, боюсь, нам предстоит разобраться с чем-то совершенно другим :sweat_smile:

да, это там

Наконец-то снова разобрался и выполнил docker logs app сразу после пересборки. Может, кто-то поможет мне разобраться в этом?

run-parts: executing /etc/runit/1.d/00-ensure-links
run-parts: executing /etc/runit/1.d/00-fix-var-logs
run-parts: executing /etc/runit/1.d/01-cleanup-web-pids
run-parts: executing /etc/runit/1.d/anacron
run-parts: executing /etc/runit/1.d/cleanup-pids
Cleaning stale PID files
run-parts: executing /etc/runit/1.d/copy-env
run-parts: executing /etc/runit/1.d/letsencrypt
[Wed Feb 12 05:03:53 PM UTC 2025] Domains not changed.
[Wed Feb 12 05:03:53 PM UTC 2025] Skip, Next renewal time is: 2025-04-02T00:09:20Z
[Wed Feb 12 05:03:53 PM UTC 2025] Add '--force' to force to renew.
[Wed Feb 12 05:03:53 PM UTC 2025] Installing key to: /shared/ssl/redacteddomain.tld.key
[Wed Feb 12 05:03:53 PM UTC 2025] Installing full chain to: /shared/ssl/redacteddomain.tld.cer
[Wed Feb 12 05:03:53 PM UTC 2025] Run reload cmd: sv reload nginx
warning: nginx: unable to open supervise/ok: file does not exist
[Wed Feb 12 05:03:53 PM UTC 2025] Reload error for :
[Wed Feb 12 05:03:53 PM UTC 2025] Domains not changed.
[Wed Feb 12 05:03:53 PM UTC 2025] Skip, Next renewal time is: 2025-04-02T00:09:25Z
[Wed Feb 12 05:03:54 PM UTC 2025] Add '--force' to force to renew.
[Wed Feb 12 05:03:54 PM UTC 2025] Installing key to: /shared/ssl/redacteddomain.tld_ecc.key
[Wed Feb 12 05:03:54 PM UTC 2025] Installing full chain to: /shared/ssl/redacteddomain.tld_ecc.cer
[Wed Feb 12 05:03:54 PM UTC 2025] Run reload cmd: sv reload nginx
warning: nginx: unable to open supervise/ok: file does not exist
[Wed Feb 12 05:03:54 PM UTC 2025] Reload error for :
Started runsvdir, PID is 535
warning: redis: unable to open supervise/ok: file does not exist
nginx: [warn] duplicate extension "wasm", content type: "application/wasm", previous content type: "application/wasm" in /etc/nginx/conf.d/discourse.conf:4
nginx: [emerg] unknown "public" variable
ok: run: redis: (pid 550) 1s
ok: run: postgres: (pid 554) 1s
nginx: [warn] duplicate extension "wasm", content type: "application/wasm", previous content type: "application/wasm" in /etc/nginx/conf.d/discourse.conf:4
nginx: [emerg] unknown "public" variable
supervisor pid: 568 unicorn pid: 574
nginx: [warn] duplicate extension "wasm", content type: "application/wasm", previous content type: "application/wasm" in /etc/nginx/conf.d/discourse.conf:4
nginx: [emerg] unknown "public" variable
nginx: [warn] duplicate extension "wasm", content type: "application/wasm", previous content type: "application/wasm" in /etc/nginx/conf.d/discourse.conf:4

Похоже, это было вызвано этим: