Чтобы создать общую точку отсчета, я переустановил свой VPS (Ubuntu 22.04), выполнил apt update && apt upgrade, а затем приступил к стандартному процессу установки Discourse.
Если эта информация имеет значение, то во время первого запуска ./discourse-setup я допустил ошибку при вводе данных, поэтому нажал Control-C и запустил ./discourse-setup повторно. При повторном запуске ./discourse-setup загружается новый образ discourse/base, как показано ниже…
root@discourse:/var/discourse# ./discourse-setup
Файл конфигурации containers/app.yml уже существует!
. . . перенастройка . . .
Сохранение старого файла как app.yml.2024-07-29-151604.bak
Остановка существующего контейнера через 5 секунд или нажмите Control-C для отмены.
Обнаружена архитектура x86_64.
ПРЕДУПРЕЖДЕНИЕ: Мы собираемся начать загрузку базового образа Discourse
Этот процесс может занять от нескольких минут до часа в зависимости от скорости вашей сети
Пожалуйста, будьте терпеливы
2.0.20240708-0023: Получение из discourse/base
76956b537f14: Получено полностью
c5ffad89ad3c: Получено полностью
71c31a50a587: Получено полностью
c1a1234dcb61: Получено полностью
9980a27afc32: Получено полностью
4f4fb700ef54: Получено полностью
304b565c70c9: Получено полностью
8ad811162d08: Получено полностью
2c324dce526d: Получено полностью
52d141c2b1c8: Получено полностью
4c08fdcd145a: Получено полностью
1b6035ac25c0: Получено полностью
9208d0f90623: Получено полностью
513dccf6f63f: Получено полностью
e0b141854963: Получено полностью
4476d7dd9441: Получено полностью
0fad77941078: Получено полностью
46c34476ea19: Получено полностью
ff0b86516349: Получено полностью
c33170d09c8b: Получено полностью
ed4a793ffe51: Получено полностью
3a7b2554e089: Получено полностью
3ad8a6408839: Получено полностью
e7c58bcc7f57: Получено полностью
59b2407fe431: Получено полностью
315160f4d4f8: Получено полностью
ad328ba96976: Получено полностью
825dca2e642e: Получено полностью
9fbd8c908047: Получено полностью
b1d30330e969: Получено полностью
8c76c65bb8e8: Получено полностью
9279965667b5: Получено полностью
a0ae3eb4d088: Получено полностью
819fb509ef8b: Получено полностью
c962935d47d4: Получено полностью
63b444b5bd1e: Получено полностью
7efa1c09faf6: Получено полностью
46c4327ce462: Получено полностью
b095ebe7bdf6: Получено полностью
3aa16a533cab: Получено полностью
41419e4f1948: Получено полностью
589837814d9a: Получено полностью
bd025ad1b844: Получено полностью
24762ff7528f: Получено полностью
fe364253c657: Получено полностью
Digest: sha256:025e9c1f6848c4726544c6ae873d710c62f547b72afb7f537aaa44eb5377cb5c
Status: Скачан новый образ для discourse/base:2.0.20240708-0023
docker.io/discourse/base:2.0.20240708-0023
app не был запущен !
./discourse-doctor может помочь диагностировать проблему.
Обнаружено 3 ГБ памяти и 2 физических ядра CPU
установка db_shared_buffers = 768МБ
установка UNICORN_WORKERS = 4
параметры памяти containers/app.yml обновлены.
Установка Discourse продолжилась и завершилась успешно. Я смог создать начальную учетную запись и войти в систему.
I, [2024-07-29T15:42:21.624379 #1] INFO -- : Замена location @discourse { на location @discourse {
add_header Strict-Transport-Security 'max-age=31536000'; # запомнить сертификат на год и автоматически подключаться к HTTPS для этого домена в /etc/nginx/conf.d/discourse.conf
I, [2024-07-29T15:42:21.627858 #1] INFO -- : > echo "Начало пользовательских команд"
I, [2024-07-29T15:42:21.634022 #1] INFO -- : Начало пользовательских команд
I, [2024-07-29T15:42:21.637436 #1] INFO -- : > echo "Конец пользовательских команд"
I, [2024-07-29T15:42:21.642766 #1] INFO -- : Конец пользовательских команд
I, [2024-07-29T15:42:21.648034 #1] INFO -- : Завершение асинхронных процессов
I, [2024-07-29T15:42:21.649479 #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: 57
2024-07-29 15:42:21.651 UTC [57] LOG: получен запрос быстрого завершения
I, [2024-07-29T15:42:21.652067 #1] INFO -- : Отправка TERM для exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 120
120:signal-handler (1722267741) Получен SIGTERM, планирование завершения...
2024-07-29 15:42:21.658 UTC [57] LOG: прерывание любых активных транзакций
120:M 29 Jul 2024 15:42:21.667 # Пользователь запросил завершение...
120:M 29 Jul 2024 15:42:21.668 * Сохранение финального снимка RDB перед выходом.
2024-07-29 15:42:21.682 UTC [57] LOG: фоновый рабочий "запускатель логической репликации" (PID 72) завершился с кодом выхода 1
120:M 29 Jul 2024 15:42:21.682 * БД сохранена на диск
120:M 29 Jul 2024 15:42:21.683 # Redis теперь готов к выходу, пока...
2024-07-29 15:42:21.685 UTC [67] LOG: завершение работы
2024-07-29 15:42:21.806 UTC [57] LOG: система баз данных завершена
sha256:6a6d6a8ea3559ad031a84fd48a164686e9440d7e857cb39619c2baba84a4b966
2b8eddd7b72415507d10cc404c40459c19c7ad3e025cb7bb69bcddb3c98b0197
+ /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_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 LC_ALL=en_US.UTF-8 -e LANGUAGE=en_US.UTF-8 -e DISCOURSE_HOSTNAME=discourse3.greenbullfrog.com -e DISCOURSE_DEVELOPER_EMAILS=discourse-admin@greenbullfrog.com -e DISCOURSE_SMTP_ADDRESS=box.greenbullfrog.com -e DISCOURSE_SMTP_PORT=587 -e DISCOURSE_SMTP_USER_NAME=discourse@greenbullfrog.com -e DISCOURSE_SMTP_PASSWORD=lAtDyjbyqztzhrG -e DISCOURSE_SMTP_DOMAIN=discourse3.greenbullfrog.com -e DISCOURSE_NOTIFICATION_EMAIL=noreply@discourse3.greenbullfrog.com -e LETSENCRYPT_ACCOUNT_EMAIL=letsencrypt@greenbullfrog.com -h discourse-app -e DOCKER_HOST_IP=172.17.0.1 --name app -t -p 80:80 -p 443:443 -v /var/discourse/shared/standalone:/shared -v /var/discourse/shared/standalone/log/var-log:/var/log --mac-address 02:f9:8c:dd:3d:63 local_discourse/app /sbin/boot
a78541042858ed6a4dd739bb7c8243a50a4064f595fdf968c22c8b63afb68979
root@discourse:/var/discourse#
Далее я начал процесс, описанный по адресу Migrate a phpBB3 forum to Discourse .
Вот начало моего файла import.yml…
root@discourse:/var/discourse# head -23 containers/import.yml
## это шаблон контейнера Discourse Docker all-in-one, standalone
##
## После внесения изменений в этот файл вы ДОЛЖНЫ выполнить пересборку
## /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"
- "templates/import/phpbb3.template.yml"
## какие TCP/IP порты должен открывать этот контейнер?
## Если вы хотите, чтобы Discourse использовал порт совместно с другим веб-сервером, например Apache или nginx,
root@discourse:/var/discourse#
Проблема возникает при выполнении команды /var/discourse/launcher rebuild import. Из-за большого объема невозможно опубликовать лог этой команды. Однако вы можете загрузить его по следующей ссылке NextCloud…
https://box.greenbullfrog.com/cloud/index.php/s/tAFNPJqBaJ3qA6r