Ошибка сборки bootstrap

Это была отдельная проблема, обсуждавшаяся в другой теме, но я решил создать новую, поскольку, думаю, это не одно и то же (наверное).
(предыдущая тема: Попытка обновления, и, кажется, я что-то напортачил - установка - Discourse Meta)

Вот ошибка, которую я получаю:

Вот предоставленный отчёт Discourse Doctor:

DISCOURSE DOCTOR Sun Nov 20 09:15:03 CET 2022
OS: Linux discourse 4.15.0-91-generic #92-Ubuntu SMP Fri Feb 28 11:09:48 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux


Найден файл containers/app.yml

==================== НАСТРОЙКИ YML ====================
DISCOURSE_HOSTNAME=forum.arcaneodyssey.dev
SMTP_ADDRESS=smtp.mailgun.org
DEVELOPER_EMAILS=ЗАКРЫТО
SMTP_PASSWORD=ЗАКРЫТО
SMTP_PORT=587
SMTP_USER_NAME=headless@mg.arcaneodyssey.dev
LETSENCRYPT_ACCOUNT_EMAIL=ЗАКРЫТО

==================== ИНФОРМАЦИЯ O DOCKER ====================
ВЕРСИЯ DOCKER: Docker version 20.10.17, build 100c701

ПРОЦЕССЫ DOCKER (docker ps -a)

CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

==================== СЕРЬЁЗНАЯ ПРОБЛЕМА!!!! ====================
Приложение не запущено!
Попытка пересборки
==================== ЖУРНАЛ ПЕРЕСБОРКИ ====================
Обнаружена архитектура x86_64.
Проверка актуальности лаунчера
Получение origin
Лаунчер актуален
2.0.20220818-0047: Получение образа из discourse/base
Digest: sha256:7734701087766821ffb2ddcef423754798bd345c2ac0d550131c6e6905c268e8
Статус: Образ актуален для discourse/base:2.0.20220818-0047
docker.io/discourse/base:2.0.20220818-0047
/usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2022-11-20T08:15:17.743545 #1]  INFO -- : Чтение из stdin
I, [2022-11-20T08:15:17.750195 #1]  INFO -- : > locale-gen $LANG && update-locale
I, [2022-11-20T08:15:17.821419 #1]  INFO -- : Генерация локалей (это может занять время)...
Генерация завершена.

I, [2022-11-20T08:15:17.822016 #1]  INFO -- : > mkdir -p /shared/postgres_run
I, [2022-11-20T08:15:17.828573 #1]  INFO -- :
I, [2022-11-20T08:15:17.828983 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2022-11-20T08:15:17.835258 #1]  INFO -- :
I, [2022-11-20T08:15:17.835802 #1]  INFO -- : > chmod 775 /shared/postgres_run
I, [2022-11-20T08:15:17.841674 #1]  INFO -- :
I, [2022-11-20T08:15:17.842214 #1]  INFO -- : > rm -fr /var/run/postgresql
I, [2022-11-20T08:15:17.852475 #1]  INFO -- :
I, [2022-11-20T08:15:17.853152 #1]  INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2022-11-20T08:15:17.861073 #1]  INFO -- :
I, [2022-11-20T08:15:17.861483 #1]  INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres уже запущен, остановите контейнер ; exit 1
2022/11/20 08:15:17 socat[19] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): Connection refused
I, [2022-11-20T08:15:17.884029 #1]  INFO -- :
I, [2022-11-20T08:15:17.884295 #1]  INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2022-11-20T08:15:17.893978 #1]  INFO -- :
I, [2022-11-20T08:15:17.894223 #1]  INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2022-11-20T08:15:17.904166 #1]  INFO -- :
I, [2022-11-20T08:15:17.904633 #1]  INFO -- : > mkdir -p /shared/postgres_run/13-main.pg_stat_tmp
I, [2022-11-20T08:15:17.914232 #1]  INFO -- :
I, [2022-11-20T08:15:17.915141 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run/13-main.pg_stat_tmp
I, [2022-11-20T08:15:17.924943 #1]  INFO -- :
I, [2022-11-20T08:15:17.942637 #1]  INFO -- : Файл > /etc/service/postgres/run  chmod: +x  chown:
I, [2022-11-20T08:15:17.959607 #1]  INFO -- : Файл > /etc/service/postgres/log/run  chmod: +x  chown:
I, [2022-11-20T08:15:17.976957 #1]  INFO -- : Файл > /etc/runit/3.d/99-postgres  chmod: +x  chown:
I, [2022-11-20T08:15:17.993223 #1]  INFO -- : Файл > /root/upgrade_postgres  chmod: +x  chown:
I, [2022-11-20T08:15:17.994050 #1]  INFO -- : > chown -R root /var/lib/postgresql/13/main
I, [2022-11-20T08:15:19.352619 #1]  INFO -- :
I, [2022-11-20T08:15:19.353073 #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, [2022-11-20T08:15:19.361583 #1]  INFO -- :
I, [2022-11-20T08:15:19.361755 #1]  INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2022-11-20T08:15:19.391741 #1]  INFO -- :
I, [2022-11-20T08:15:19.392151 #1]  INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2022-11-20T08:15:19.403291 #1]  INFO -- :
I, [2022-11-20T08:15:19.404047 #1]  INFO -- : > /root/upgrade_postgres
I, [2022-11-20T08:15:19.417773 #1]  INFO -- :
I, [2022-11-20T08:15:19.418044 #1]  INFO -- : > rm /root/upgrade_postgres
I, [2022-11-20T08:15:19.426190 #1]  INFO -- :
I, [2022-11-20T08:15:19.427184 #1]  INFO -- : Замена data_directory = '/var/lib/postgresql/13/main' на data_directory = '/shared/postgres_data' в /etc/postgresql/13/main/postgresql.conf
I, [2022-11-20T08:15:19.428982 #1]  INFO -- : Замена (?-mix:#?listen_addresses *=.*) на listen_addresses = '*' в /etc/postgresql/13/main/postgresql.conf
I, [2022-11-20T08:15:19.430022 #1]  INFO -- : Замена (?-mix:#?synchronous_commit *=.*) на synchronous_commit = $db_synchronous_commit в /etc/postgresql/13/main/postgresql.conf
I, [2022-11-20T08:15:19.431344 #1]  INFO -- : Замена (?-mix:#?shared_buffers *=.*) на shared_buffers = $db_shared_buffers в /etc/postgresql/13/main/postgresql.conf
I, [2022-11-20T08:15:19.432179 #1]  INFO -- : Замена (?-mix:#?work_mem *=.*) на work_mem = $db_work_mem в /etc/postgresql/13/main/postgresql.conf
I, [2022-11-20T08:15:19.433198 #1]  INFO -- : Замена (?-mix:#?default_text_search_config *=.*) на default_text_search_config = '$db_default_text_search_config' в /etc/postgresql/13/main/postgresql.conf
I, [2022-11-20T08:15:19.434011 #1]  INFO -- : > install -d -m 0755 -o postgres -g postgres /shared/postgres_backup
I, [2022-11-20T08:15:19.440970 #1]  INFO -- :
I, [2022-11-20T08:15:19.441823 #1]  INFO -- : Замена (?-mix:#?checkpoint_segments *=.*) на checkpoint_segments = $db_checkpoint_segments в /etc/postgresql/13/main/postgresql.conf
I, [2022-11-20T08:15:19.442798 #1]  INFO -- : Замена (?-mix:#?logging_collector *=.*) на logging_collector = $db_logging_collector в /etc/postgresql/13/main/postgresql.conf
I, [2022-11-20T08:15:19.443593 #1]  INFO -- : Замена (?-mix:#?log_min_duration_statement *=.*) на log_min_duration_statement = $db_log_min_duration_statement в /etc/postgresql/13/main/postgresql.conf
I, [2022-11-20T08:15:19.444290 #1]  INFO -- : Замена (?-mix:^#local +replication +postgres +peer$) на local replication postgres  peer в /etc/postgresql/13/main/pg_hba.conf
I, [2022-11-20T08:15:19.444994 #1]  INFO -- : Замена (?-mix:^host.*all.*all.*127.*$) на host all all 0.0.0.0/0 md5 в /etc/postgresql/13/main/pg_hba.conf
I, [2022-11-20T08:15:19.445642 #1]  INFO -- : Замена (?-mix:^host.*all.*all.*::1\/128.*$) на host all all ::/0 md5 в /etc/postgresql/13/main/pg_hba.conf
I, [2022-11-20T08:15:19.446164 #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, [2022-11-20T08:15:19.452150 #1]  INFO -- : > sleep 5
2022-11-20 08:15:19.593 UTC [42] LOG:  запуск PostgreSQL 13.8 (Debian 13.8-1.pgdg110+1) на x86_64-pc-linux-gnu, скомпилирован gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
2022-11-20 08:15:19.593 UTC [42] LOG:  прослушивание IPv4 адреса "0.0.0.0", порт 5432
2022-11-20 08:15:19.593 UTC [42] LOG:  прослушивание IPv6 адреса "::", порт 5432
2022-11-20 08:15:19.619 UTC [42] LOG:  прослушивание Unix сокета "/var/run/postgresql/.s.PGSQL.5432"
2022-11-20 08:15:19.653 UTC [45] LOG:  система баз данных была прервана при выключении; последнее известное состояние активности на 2022-11-20 08:13:26 UTC
2022-11-20 08:15:19.961 UTC [45] LOG:  система баз данных не была корректно выключена; выполняется автоматическое восстановление
2022-11-20 08:15:19.976 UTC [45] LOG:  начало redo на 20E/B7706EE0
2022-11-20 08:15:21.251 UTC [45] LOG:  успешно пропущена отсутствующая contrecord на 20E/C95C8360, перезаписана в 2022-11-20 07:39:48.040705+00
2022-11-20 08:15:21.251 UTC [45] CONTEXT:  WAL redo на 20E/C95CA018 для XLOG/OVERWRITE_CONTRECORD: lsn 20E/C95C8360; время 2022-11-20 07:39:48.040705+00
2022-11-20 08:15:21.251 UTC [45] LOG:  некорректная длина записи на 20E/C95CA048: ожидалось 24, получено 0
2022-11-20 08:15:21.251 UTC [45] LOG:  redo завершена на 20E/C95CA018
I, [2022-11-20T08:15:24.460654 #1]  INFO -- :
I, [2022-11-20T08:15:24.461528 #1]  INFO -- : > su postgres -c 'createdb discourse' || true
2022-11-20 08:15:24.533 UTC [49] postgres@postgres FATAL:  система баз данных запускается
2022-11-20 08:15:24.534 UTC [50] postgres@template1 FATAL:  система баз данных запускается
createdb: ошибка: не удалось подключиться к базе данных template1: подключение к серверу через сокет "/var/run/postgresql/.s.PGSQL.5432" не удалось: FATAL:  система баз данных запускается
I, [2022-11-20T08:15:24.539304 #1]  INFO -- :
I, [2022-11-20T08:15:24.539843 #1]  INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
2022-11-20 08:15:24.612 UTC [54] postgres@discourse FATAL:  система баз данных запускается
psql: ошибка: подключение к серверу через сокет "/var/run/postgresql/.s.PGSQL.5432" не удалось: FATAL:  система баз данных запускается
I, [2022-11-20T08:15:24.616482 #1]  INFO -- :
I, [2022-11-20T08:15:24.616934 #1]  INFO -- : > su postgres -c 'psql discourse -c "grant all privileges on database discourse to discourse;"' || true
2022-11-20 08:15:24.700 UTC [58] postgres@discourse FATAL:  система баз данных запускается
psql: ошибка: подключение к серверу через сокет "/var/run/postgresql/.s.PGSQL.5432" не удалось: FATAL:  система баз данных запускается
I, [2022-11-20T08:15:24.705093 #1]  INFO -- :
I, [2022-11-20T08:15:24.705843 #1]  INFO -- : > su postgres -c 'psql discourse -c "alter schema public owner to discourse;"'
2022-11-20 08:15:24.768 UTC [62] postgres@discourse FATAL:  система баз данных запускается
psql: ошибка: подключение к серверу через сокет "/var/run/postgresql/.s.PGSQL.5432" не удалось: FATAL:  система баз данных запускается
I, [2022-11-20T08:15:24.772170 #1]  INFO -- :
I, [2022-11-20T08:15:24.772719 #1]  INFO -- : Завершение асинхронных процессов
I, [2022-11-20T08:15:24.772781 #1]  INFO -- : Отправка INT процессу 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
2022-11-20 08:15:24.772 UTC [42] LOG:  получен запрос быстрого выключения
I, [2022-11-20T08:15:34.774465 #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 pid:42 не завершился корректно, принудительное завершение!


ОШИБКА
--------------------
Pups::ExecError: su postgres -c 'psql discourse -c "alter schema public owner to discourse;"' завершился с ошибкой с кодом возврата #<Process::Status: pid 59 exit 2>
Место ошибки: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
Выполнение не удалось с параметрами "su postgres -c 'psql $db_name -c \"alter schema public owner to $db_user;\"'"
Инициализация не удалась с кодом выхода 2
** ИНИЦИАЛИЗАЦИЯ НЕ УДАЛАСЬ ** пожалуйста, прокрутите вверх и поищите сообщения об ошибках, их может быть больше одной.
./discourse-doctor может помочь в диагностике проблемы.
6df5d11e52ff56940d63e1e901ca8c5da49e5037e77e507175f921e1de360d7d
==================== КОНЕЦ ЖУРНАЛА ПЕРЕСБОРКИ ====================
Не удалось пересобрать приложение.

Проверка вашего доменного имени . . .

Соединение с forum.arcaneodyssey.dev успешно.
Вам, вероятно, следует удалить любые нестандартные плагины и выполнить пересборку.
Попытка перезапуска существующего контейнера . . .
Обнаружена архитектура x86_64.

+ /usr/bin/docker run --shm-size=512m -d --restart=always -e LANG=en_US.UTF-8 -e RAILS_ENV=production -e UNICORN_WORKERS=4 -e UNICORN_SIDEKIQS=1 -e RUBY_GLOBAL_METHOD_CACHE_SIZE=131072 -e RUBY_GC_HEAP_GROWTH_MAX_SLOTS=40000 -e RUBY_GC_HEAP_INIT_SLOTS=400000 -e RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=1.5 -e DISCOURSE_DB_SOCKET=/var/run/postgresql -e DISCOURSE_DB_HOST= -e DISCOURSE_DB_PORT= -e LETSENCRYPT_DIR=/shared/letsencrypt -e DISCOURSE_FORCE_HTTPS=true -e DISCOURSE_HOSTNAME=forum.arcaneodyssey.dev -e DISCOURSE_DEVELOPER_EMAILS=ЗАКРЫТО  -e DISCOURSE_SMTP_ADDRESS=smtp.mailgun.org -e DISCOURSE_SMTP_PORT=587 -e DISCOURSE_SMTP_USER_NAME=headless@mg.arcaneodyssey.dev -e DISCOURSE_SMTP_PASSWORD=ЗАКРЫТО  -e LETSENCRYPT_ACCOUNT_EMAIL=ЗАКРЫТО  -h discourse-app -e DOCKER_HOST_IP=172.17.0.1 --name app -t -p 80:80 -p 443:443 -v /mnt/volume-2/standalone:/shared -v /mnt/volume-2/standalone/log/var-log:/var/log -v /mnt/volume-fsn1-1/uploads:/shared/uploads --mac-address 02:f9:8c:dd:3d:63 local_discourse/app /sbin/boot
Не удалось найти образ 'local_discourse/app:latest' локально
docker: Ошибка ответа от демона: доступ на получение образа для local_discourse/app запрещён, репозиторий не существует или может потребоваться 'docker login': отказано: запрошенный доступ к ресурсу запрещён.
См. 'docker run --help'.
Не удалось перезапустить контейнер.


==================== ПЛАГИНЫ ====================
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-chat-integration.git
          - git clone https://github.com/discourse/discourse-whos-online.git
          - git clone https://github.com/discourse/discourse-voting.git
          - git clone https://github.com/discourse/discourse-checklist
          - git clone https://github.com/discourse/discourse-patreon.git
          - git clone https://github.com/discourse/discourse-calendar.git
          - git clone https://github.com/discourse/discourse-spoiler-alert.git
          - git clone https://github.com/discourse/discourse-solved.git
          - git clone https://github.com/angusmcleod/discourse-ratings.git
          - git clone https://github.com/paviliondev/discourse-follow.git
          - git clone https://github.com/paviliondev/discourse-topic-previews-sidecar
          - git clone https://github.com/paviliondev/discourse-tc-topic-list-previews

ПРЕДУПРЕЖДЕНИЕ:
У вас, по-видимому, есть нестандартные плагины.
Если у вас возникают проблемы, вам следует отключить их и попробовать пересобрать снова.

См. https://github.com/discourse/discourse/blob/main/lib/plugin/metadata.rb для официального списка.

========================================
Версия Discourse на forum.arcaneodyssey.dev: НЕ НАЙДЕНА
Версия Discourse на localhost: НЕ НАЙДЕНА


==================== ИНФОРМАЦИЯ О ПАМЯТИ ====================
OS: Linux
ОЗУ (МБ): 16038

              total        used        free      shared  buff/cache   available
Mem:          15662         287        6931           0        8442       15087
Swap:          2047          30        2017

==================== ПРОВЕРКА СВОБОДНОГО МЕСТА НА ДИСКЕ ====================
---------- Свободное место на диске ОС ----------
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        19G   11G  7.2G  60% /

==================== ИНФОРМАЦИЯ О ДИСКАХ ====================
Диск /dev/sda: 19.1 ГиБ, 20480786432 байт, 40001536 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода-вывода (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: gpt
Идентификатор диска: DA375F37-9B26-488D-A076-9130E80D2481

Device      Start      End  Sectors Size Type
/dev/sda1  129024 40001502 39872479  19G Linux filesystem
/dev/sda14   2048     4095     2048   1M BIOS boot
/dev/sda15   4096   129023   124928  61M EFI System

Записи таблицы разделов не упорядочены по диску.


Диск /dev/sdb: 50 ГиБ, 53687091200 байт, 104857600 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода-вывода (минимальный/оптимальный): 512 байт / 512 байт


Диск /dev/sdc: 40 ГиБ, 42949672960 байт, 83886080 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода-вывода (минимальный/оптимальный): 512 байт / 512 байт

==================== КОНЕЦ ИНФОРМАЦИИ О ДИСКАХ ====================

==================== ТЕСТИРОВАНИЕ ПОЧТЫ ====================
Для надёжного теста получите адрес на http://www.mail-tester.com/
Тест почты пропущен.

==================== ГОТОВО! ====================

Вы можете просмотреть вывод этого скрипта с помощью
LESS=-Ri less /tmp/discourse-debug.txt

НО СНАЧАЛА убедитесь, что вы знаете первые три команды ниже!!!

Команды, которые нужно знать при просмотре файла с помощью вышеуказанной команды (называемой 'less'):
q              -- выход
/error<ENTER>  -- поиск слова 'error'
n              -- поиск следующего вхождения
g              -- перейти в начало файла
f              -- перейти на страницу вперёд
b              -- перейти на страницу назад
G              -- перейти в конец файла

Похоже, что проблемы связаны с базой данных?"}

Есть несколько плагинов, которые выглядят немного устаревшими. Вы можете попробовать заменить их и пересобрать.

https://github.com/paviliondev/discourse-follow.git теперь является официальным плагином Discourse — https://github.com/discourse/discourse-follow

https://github.com/discourse/discourse-voting.git был переименован и теперь называется https://github.com/discourse/discourse-topic-voting

А https://github.com/paviliondev/discourse-tc-topic-list-previews — это компонент темы, и его не следует устанавливать в app.yml

Даже после применения предложенных исправлений, которые привели к следующему:

          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-chat-integration.git
          - git clone https://github.com/discourse/discourse-whos-online.git
          - git clone https://github.com/discourse/discourse-topic-voting
          - git clone https://github.com/discourse/discourse-checklist
          - git clone https://github.com/discourse/discourse-patreon.git
          - git clone https://github.com/discourse/discourse-calendar.git
          - mkdir -p plugins
          - git clone https://github.com/discourse/discourse-spoiler-alert.git
          - git clone https://github.com/discourse/discourse-solved.git
          - git clone https://github.com/angusmcleod/discourse-ratings.git
          - git clone https://github.com/discourse/discourse-follow
          - git clone https://github.com/paviliondev/discourse-topic-previews-sidecar
          - git clone https://github.com/discourse/discourse-reactions

я всё ещё получаю ту же ошибку

Не совсем понятно, почему - mkdir -p plugins находится в середине этого списка? Этот список из вашего app.yml?

@Headless, пожалуйста, поделитесь своим отредактированным app.yml

Отличный вопрос. Я только что переместил его наверх; раньше он был посередине, потому что при добавлении плагинов те, которые требовали его, шли после. Я это исправил и поставил наверх, но всё равно безрезультатно.

Есть ли команда для редактирования или я должен редактировать сам?

Не уверен, существует ли команда, обычно я редактирую вручную.

Вот оно

## это шаблон автономного контейнера Docker Discourse «всё в одном»
##
## После внесения изменений в этот файл вы ОБЯЗАНЫ выполнить пересборку
## /var/discourse/launcher rebuild app
##
## БУДЬТЕ *ОЧЕНЬ* ОСТОРОЖНЫ ПРИ РЕДАКТИРОВАНИИ!
## YAML-ФАЙЛЫ ЧРЕЗВЫЧАЙНО ЧУВСТВИТЕЛЬНЫ К ОШИБКАМ В ПРОБЕЛАХ И ВЫРАВНИВАНИИ!
## посетите http://www.yamllint.com/, чтобы при необходимости проверить этот файл

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"
  - "templates/cloudflare.template.yml"
## Раскомментируйте эти две строки, если хотите добавить Lets Encrypt (https)
  - "templates/web.ssl.template.yml"
  - "templates/web.letsencrypt.ssl.template.yml"

## какие TCP/IP-порты должен открывать этот контейнер?
## Если вы хотите, чтобы Discourse использовал один порт с другим веб-сервером, например Apache или nginx,
## см. https://meta.discourse.org/t/17247 для деталей
expose:
  - "80:80"   # http
  - "443:443" # https

params:
  db_default_text_search_config: "pg_catalog.english"

  ## Установите db_shared_buffers максимум на 25% от общего объёма памяти.
  ## будет установлено автоматически при загрузке на основе обнаруженной памяти ОЗУ, либо вы можете переопределить
  db_shared_buffers: "1792MB"

  ## может улучшить производительность сортировки, но увеличивает использование памяти на соединение
  #db_work_mem: "40MB"

  ## Какую ревизию Git должен использовать этот контейнер? (по умолчанию: tests-passed)
  #version: tests-passed

env:
  LANG: en_US.UTF-8
  # DISCOURSE_DEFAULT_LOCALE: en

  ## Сколько одновременных веб-запросов поддерживается? Зависит от памяти и количества ядер процессора.
  ## будет установлено автоматически при загрузке на основе обнаруженных процессоров, либо вы можете переопределить
  UNICORN_WORKERS: 4

  ## TODO: Доменное имя, на которое будет отвечать этот экземпляр Discourse
  ## Обязательно. Discourse не будет работать с обычным IP-адресом.
  DISCOURSE_HOSTNAME: forum.arcaneodyssey.dev

  ## Раскомментируйте, если хотите, чтобы контейнер запускался с тем же
  ## именем хоста (опция -h), что указано выше (по умолчанию "$hostname-$config")
  #DOCKER_USE_HOSTNAME: true

  ## TODO: Список email-адресов через запятую, которые станут администраторами и разработчиками
  ## при первоначальной регистрации, например 'user1@example.com,user2@example.com'
  DISCOURSE_DEVELOPER_EMAILS: REDACTED

  ## TODO: SMTP-сервер, используемый для проверки новых учётных записей и отправки уведомлений
  ## Адрес SMTP, имя пользователя и пароль обязательны
  ## ВНИМАНИЕ: символ '#' в пароле SMTP может вызвать проблемы!
  DISCOURSE_SMTP_ADDRESS: smtp.mailgun.org
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: REDACTED
  DISCOURSE_SMTP_PASSWORD: REDACTED
  #DISCOURSE_SMTP_ENABLE_START_TLS: true           # (опционально, по умолчанию true)

  ## Если вы добавили шаблон Lets Encrypt, раскомментируйте ниже, чтобы получить бесплатный SSL-сертификат
  LETSENCRYPT_ACCOUNT_EMAIL: me@example.com

  ## Адрес CDN http или https для этого экземпляра Discourse (настроен на получение)
  ## см. https://meta.discourse.org/t/14857 для деталей
  #DISCOURSE_CDN_URL: https://discourse-cdn.example.com

## Контейнер Docker не имеет состояния; все данные хранятся в /shared
volumes:
  - volume:
      host: /mnt/volume-2/standalone
      guest: /shared
  - volume:
      host: /mnt/volume-2/standalone/log/var-log
      guest: /var/log
  - volume:
      host: /mnt/volume-fsn1-1/uploads
      guest: /shared/uploads

## Плагины размещаются здесь
## см. https://meta.discourse.org/t/19157 для деталей
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - mkdir -p plugins
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-whos-online.git
          - git clone https://github.com/discourse/discourse-topic-voting
          - git clone https://github.com/discourse/discourse-checklist
#          - git clone https://github.com/discourse/discourse-patreon.git
#          - git clone https://github.com/discourse/discourse-calendar.git
          - git clone https://github.com/discourse/discourse-spoiler-alert.git
          - git clone https://github.com/discourse/discourse-solved.git
          - git clone https://github.com/angusmcleod/discourse-ratings.git
          - git clone https://github.com/discourse/discourse-follow
          - git clone https://github.com/paviliondev/discourse-topic-previews-sidecar
          - git clone https://github.com/discourse/discourse-reactions
run:
  - exec: echo "Начало пользовательских команд"
  ## Если вы хотите установить адрес электронной почты «От» для вашей первой регистрации, раскомментируйте и измените:
  ## После получения первого письма о регистрации закомментируйте строку обратно. Она должна выполниться только один раз.
  #- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
  - exec: echo "Конец пользовательских команд"

Проверка плагина Pavilion Ratings также показывает, что у него новый адрес репозитория — https://github.com/paviliondev/discourse-ratings

Но давайте также посмотрим на ваш app.yml, как предлагает @itsbhanusharma. :+1:

Только что обновил, но всё равно ничего не вышло.

Удалите все сторонние плагины и попробуйте выполнить повторную сборку.

Я закомментировал всё (кроме mkdir и docker), но всё равно ничего не вышло.

та же ошибка?

Да, это действительно та же ошибка.

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

Что выводит команда docker ps и docker ps -a?

image
Ничего, к сожалению

Судя по ошибкам, которые я вижу прямо сейчас, PostgreSQL работает не так, как ожидалось. Неочевидно, откуда берётся ошибка. @JammyDodger, есть какие-то идеи?

У меня тоже было такое предположение, просто не знаю, как работать с PostgreSQL через Discourse.

Это странно, потому что моя проблема была решена в предыдущей теме, но после установки discourse-reactions и попытки пересобрать всё пошло не так. Теперь ничего не работает, даже без установленных плагинов, лол.