Здравствуйте,
Я провожу тестовую установку на DigitalOcean. Однако я не могу пересобрать приложение после добавления некоторых плагинов. Суть проблемы в том, что даже после удаления добавленных плагинов пересборка всё равно не удаётся.
Первый плагин в блоке кода плагинов — это тот, который поставляется вместе с установкой DigitalOcean, поэтому я следовал тому же формату. Что может быть не так?
Вот полный файл yaml
Добро пожаловать в Ubuntu 22.04.4 LTS (GNU/Linux 5.15.0-113-generic x86_64)
* Документация: https://help.ubuntu.com
* Управление: https://landscape.canonical.com
* Поддержка: https://ubuntu.com/pro
Информация о системе по состоянию на Sun Jul 14 23:46:41 UTC 2024
Загрузка системы: 0.0 Процессы: 96
Использование /: 25.4% из 67.66 ГБ Пользователи в системе: 0
Использование памяти: 11%
Использование swap: 2%
Включите ESM Apps для получения дополнительных будущих обновлений безопасности.
См. https://ubuntu.com/esm или выполните: sudo pro status
********************************************************************************
Добро пожаловать в одношаговое приложение DigitalOcean Discourse
При первом входе вам будет предложено настроить установку Discourse.
Все скрипты и файлы Discourse можно найти в /var/discourse, а утилиту настройки
можно запустить снова, выполнив команду discourse-setup в этой директории.
За помощью и дополнительной информацией обращайтесь на https://do.co/3dmapBw
********************************************************************************
Чтобы удалить это сообщение дня: rm -rf /etc/update-motd.d/99-one-click
root@xxxxx:~# cd /var/discourse
nano containers/app.yml
root@xxxxxx:/var/discourse# ./launcher rebuild app
Архитектура x86_64 обнаружена.
Проверка актуальности лаунчера
Получение origin
Лаунчер актуален
Остановка старого контейнера
+ /usr/bin/docker stop -t 600 app
app
2.0.20240708-0023: Получение образа из discourse/base
Хеш-сумма: sha256:025e9c1f6848c4726544c6ae873d710c62f547b72afb7f537aaa44eb5377cb5c
Статус: Образ актуален для discourse/base:2.0.20240708-0023
docker.io/discourse/base:2.0.20240708-0023
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2024-07-14T23:48:26.474524 #1] INFO -- : Чтение из stdin
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/merge_command.rb:50:in `merge': неявное преобразование String в Hash (TypeError)
first.merge(second, \u0026merger)
^^^^^^^^^^^^^^^
from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/merge_command.rb:50:in `deep_merge'
from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/cli.rb:61:in `block in run'
from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/cli.rb:57:in `each'
from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/cli.rb:57:in `run'
from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/bin/pups:9:in `\u003ctop (required)\u003e'
from /usr/local/bin/pups:25:in `load'
from /usr/local/bin/pups:25:in `\u003cmain\u003e'
Загрузка не удалась с кодом выхода 1
** НЕ УДАЛОСЬ ЗАГРУЗИТЬСЯ ** пожалуйста, прокрутите вверх и поищите более ранние сообщения об ошибках, их может быть несколько.
./discourse-doctor может помочь диагностировать проблему.
b32a86eece508c0f95a8edacaf4ab693200cd5c64d54dea565466219f6d65e7f
root@xxxxx:/var/discourse# ./discourse-doctor
ДИАГНОСТИКА DISCOURSE Sun Jul 14 23:48:49 UTC 2024
ОС: Linux ogatrainer 5.15.0-113-generic #123-Ubuntu SMP Mon Jun 10 08:16:17 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Найден containers/app.yml
==================== НАСТРОЙКИ YML ====================
DISCOURSE_HOSTNAME=xxxxxxxxxxxxxxx
SMTP_ADDRESS=xxxxxxxxxxxxxxxx
DEVELOPER_EMAILS=xxxxxxxxxxxx
SMTP_PASSWORD=xxxxxxxxxxxx
SMTP_PORT=xxx
SMTP_USER_NAME=xxxxxxxxxxxxx
LETSENCRYPT_ACCOUNT_EMAIL=me@example.com
==================== ИНФОРМАЦИЯ DOCKER ====================
ВЕРСИЯ DOCKER: Docker version 27.0.3, сборка 7d4bcd8
ПРОЦЕССЫ DOCKER (docker ps -a)
ID КОНТЕЙНЕРА ОБРАЗ КОМАНДА СОЗДАН СТАТУС ПОРТАЛИ ИМЯ
aa1792677667 local_discourse/app "/sbin/boot" 2 дня назад Завершён (5) 23 минуты назад app
==================== СЕРЬЁЗНАЯ ПРОБЛЕМА!!!! ====================
app не запущен!
Попытка пересборки
==================== ЖУРНАЛ ПЕРЕСБОРКИ ====================
Архитектура x86_64 обнаружена.
Проверка актуальности лаунчера
Получение origin
Лаунчер актуален
Остановка старого контейнера
+ /usr/bin/docker stop -t 600 app
app
2.0.20240708-0023: Получение образа из discourse/base
Хеш-сумма: sha256:025e9c1f6848c4726544c6ae873d710c62f547b72afb7f537aaa44eb5377cb5c
Статус: Образ актуален для discourse/base:2.0.20240708-0023
docker.io/discourse/base:2.0.20240708-0023
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2024-07-14T23:48:56.604647 #1] INFO -- : Чтение из stdin
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/merge_command.rb:50:in `merge': неявное преобразование String в Hash (TypeError)
first.merge(second, \u0026merger)
^^^^^^^^^^^^^^^
from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/merge_command.rb:50:in `deep_merge'
from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/cli.rb:61:in `block in run'
from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/cli.rb:57:in `each'
from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/cli.rb:57:in `run'
from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/bin/pups:9:in `\u003ctop (required)\u003e'
from /usr/local/bin/pups:25:in `load'
from /usr/local/bin/pups:25:in `\u003cmain\u003e'
Загрузка не удалась с кодом выхода 1
** НЕ УДАЛОСЬ ЗАГРУЗИТЬСЯ ** пожалуйста, прокрутите вверх и поищите более ранние сообщения об ошибках, их может быть несколько.
./discourse-doctor может помочь диагностировать проблему.
b9a2b268dd5c4ea7a1c3c878bb3bb9c121a068b543239cc4210180e2089ea888
==================== КОНЕЦ ЖУРНАЛА ПЕРЕСБОРКИ ====================
Не удалось пересобрать приложение.
Проверка вашего доменного имени . . .
Соединение с xxx.xxxxx.com успешно установлено.
Вам, вероятно, следует удалить любые нестандартные плагины и попытаться пересобрать.
Попытка перезапуска существующего контейнера . . .
Архитектура x86_64 обнаружена.
Запуск существующего контейнера
+ /usr/bin/docker start app
Ошибка ответа от демона: сбой программирования внешней связи на конечной точке app (830abdf507c266ee25442d83f063be25c235c2d0710065d32a3ad9157f318d5c): не удалось привязать порт 0.0.0.0:443/tcp: Ошибка запуска пользовательского прокси: listen tcp4 0.0.0.0:443: bind: адрес уже используется
Ошибка: не удалось запустить контейнеры: app
Не удалось перезапустить контейнер.
==================== ПЛАГИНЫ ====================
- git clone https://github.com/discourse/docker_manager.git
- git clone https://github.com/discourse/discourse-reactions.git
- git clone https://github.com/discourse/discourse-solved.git
- git clone https://github.com/paviliondev/discourse-landing-pages.git
- git clone https://github.com/discourse/discourse-post-voting.git
- git clone https://github.com/discourse/discourse-calendar.git
- git clone https://github.com/discourse/discourse-topic-voting.git
- git clone https://github.com/discourse/discourse-zoom.git
- git clone https://github.com/discourse/discourse-follow.git
- git clone https://github.com/discourse/discourse-ai.git
- git clone https://github.com/discourse/discourse-subscriptions.git
- git clone https://github.com/discourse/discourse-affiliate.git
- git clone https://github.com/discourse/discourse-gamification.git
- git clone https://github.com/discourse/discourse-adplugin.git
- git clone https://github.com/discourse/discourse-calendar.git
- git clone https://github.com/discourse/discourse-whos-online.git
- git clone https://github.com/discourse/discourse-signatures.git
- git clone https://github.com/discourse/discourse-cakeday.git
- git clone https://github.com/discourse/discourse-user-notes.git
- git clone https://github.com/discourse/discourse-akismet.git
- git clone https://github.com/procourse/procourse-static-pages.git
ПРЕДУПРЕЖДЕНИЕ:
Кажется, у вас есть неофициальные плагины.
Если у вас возникли проблемы, вы должны отключить их и попробовать пересобрать снова.
См. https://github.com/discourse/discourse/blob/main/lib/plugin/metadata.rb для официального списка.
========================================
Версия Discourse на xxx.xxxxxx.com: НЕ НАЙДЕНА
Версия Discourse на localhost: НЕ НАЙДЕНА
==================== ИНФОРМАЦИЯ О ПАМЯТИ ====================
ОЗУ (МБ): 2059
всего использовано свободно общее кэш буферов доступно
Память: 1963 214 1299 3 449 1588
Swap: 2047 46 2001
==================== ПРОВЕРКА МЕСТА НА ДИСКЕ ====================
---------- Место на диске ОС ----------
Файловая система Размер Использовано Свободно Использовано% Монтировано на
/dev/vda1 68G 18G 51G 26% /
==================== ИНФОРМАЦИЯ О ДИСКАХ ====================
Диск /dev/loop0: 87.03 МиБ, 91258880 байт, 178240 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода-вывода (минимальный/оптимальный): 512 байт / 512 байт
Диск /dev/loop1: 38.83 МиБ, 40714240 байт, 79520 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода-вывода (минимальный/оптимальный): 512 байт / 512 байт
Диск /dev/loop2: 63.29 МиБ, 66359296 байт, 129608 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода-вывода (минимальный/оптимальный): 512 байт / 512 байт
Диск /dev/loop3: 49.84 МиБ, 52260864 байт, 102072 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода-вывода (минимальный/оптимальный): 512 байт / 512 байт
Диск /dev/loop4: 111.95 МиБ, 117387264 байт, 229272 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода-вывода (минимальный/оптимальный): 512 байт / 512 байт
Диск /dev/loop5: 63.95 МиБ, 67051520 байт, 130960 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода-вывода (минимальный/оптимальный): 512 байт / 512 байт
Диск /dev/vda: 70 ГиБ, 75161927680 байт, 146800640 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода-вывода (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: gpt
Идентификатор диска: C2901603-FAE8-45CB-86FE-13D02E6B6DC6
Устройство Начало Конец Сектора Размер Тип
/dev/vda1 227328 146800606 146573279 69.9G Файловая система Linux
/dev/vda14 2048 10239 8192 4M Загрузочный раздел BIOS
/dev/vda15 10240 227327 217088 106M Система EFI
Записи таблицы разделов не в порядке на диске.
Диск /dev/vdb: 472 КиБ, 483328 байт, 944 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода-вывода (минимальный/оптимальный): 512 байт / 512 байт
==================== КОНЕЦ ИНФОРМАЦИИ О ДИСКАХ ====================
********************************************************************************
Добро пожаловать в одношаговое приложение DigitalOcean Discourse
При первом входе вам будет предложено настроить установку Discourse.
Все скрипты и файлы Discourse можно найти в /var/discourse, а утилиту настройки
можно запустить снова, выполнив команду discourse-setup в этой директории.
За помощью и дополнительной информацией обращайтесь на https://do.co/3dmapBw
********************************************************************************
Чтобы удалить это сообщение дня: rm -rf /etc/update-motd.d/99-one-click
Последний вход: Sun Jul 14 23:46:42 2024 с xxx.xxx.xxxx
root@xxxxxxx:~# cd /var/discourse
root@xxxxxxx:/var/discourse# ./launcher rebuild app
Архитектура x86_64 обнаружена.
Проверка актуальности лаунчера
Получение origin
Лаунчер актуален
Остановка старого контейнера
+ /usr/bin/docker stop -t 600 app
app
2.0.20240708-0023: Получение образа из discourse/base
Хеш-сумма: sha256:025e9c1f6848c4726544c6ae873d710c62f547b72afb7f537aaa44eb5377cb5c
Статус: Образ актуален для discourse/base:2.0.20240708-0023
docker.io/discourse/base:2.0.20240708-0023
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2024-07-15T00:40:19.347084 #1] INFO -- : Чтение из stdin
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/merge_command.rb:50:in `merge': неявное преобразование String в Hash (TypeError)
first.merge(second, \u0026merger)
^^^^^^^^^^^^^^^
from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/merge_command.rb:50:in `deep_merge'
from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/cli.rb:61:in `block in run'
from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/cli.rb:57:in `each'
from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/cli.rb:57:in `run'
from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/bin/pups:9:in `\u003ctop (required)\u003e'
from /usr/local/bin/pups:25:in `load'
from /usr/local/bin/pups:25:in `\u003cmain\u003e'
Загрузка не удалась с кодом выхода 1
** НЕ УДАЛОСЬ ЗАГРУЗИТЬСЯ ** пожалуйста, прокрутите вверх и поищите более ранние сообщения об ошибках, их может быть несколько.
./discourse-doctor может помочь диагностировать проблему.
22325d070d60382ffc6f404d14ee2be77c418596cb35edd4c967ffcbef5754eb
root@xxxxxx:/var/discourse# cd ..
root@xxxxxx:/var# cd ..
root@xxxxxx:/# cd /var/discourse
nano containers/app.yml
GNU nano 6.2 containers/app.yml
es## это шаблон контейнера 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"
## Раскомментируйте следующую строку, чтобы включить прослушивание IPv6
#- "templates/web.ipv6.template.yml"
- "templates/web.ratelimited.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