У меня возникла проблема с моим сайтом Discourse после того, как я по ошибке добавил недопустимый репозиторий GitHub в файл app.yml. При запуске команды ./launcher rebuild app процесс завершился неудачей, и теперь сайт не может быть пересобран. К сожалению, у меня есть резервные копии, но они не восстанавливаются в процессе восстановления. Ниже приведены детали проблемы, включая полный лог ошибок.
Выполненные шаги:
- Я попытался добавить DeepSeek LLM в свою установку Discourse, следуя инструкциям из этого поста.
- Я добавил URL репозитория
https://github.com/deepseek-ai/DeepSeek-LLMв файлapp.yml. - Запустил
./launcher rebuild app, что привело к ошибке и сделало сайт неработоспособным.
Полный лог ошибок:
plaintext
CopyEdit
(Для получения полного трассировочного лога запустите задачу с флагом --trace)
I, [2025-01-21T02:32:16.599723 #1] INFO -- : gem install multipart-post -v 2.4.0 -i /var/www/discourse/plugins/discourse-ai-topic-summary/gems/3.3.6 --no-document --ignore-dependencies --no-user-install
Успешно установлен multipart-post-2.4.0
Установлен 1 gem
gem install faraday-multipart -v 1.0.4 -i /var/www/discourse/plugins/discourse-ai-topic-summary/gems/3.3.6 --no-document --ignore-dependencies --no-user-install
Успешно установлен faraday-multipart-1.0.4
Установлен 1 gem
gem install event_stream_parser -v 1.0.0 -i /var/www/discourse/plugins/discourse-ai-topic-summary/gems/3.3.6 --no-document --ignore-dependencies --no-user-install
Успешно установлен event_stream_parser-1.0.0
Установлен 1 gem
gem install ruby-openai -v 7.0.0 -i /var/www/discourse/plugins/discourse-ai-topic-summary/gems/3.3.6 --no-document --ignore-dependencies --no-user-install
Успешно установлен ruby-openai-7.0.0
Установлен 1 gem
gem install tokenizers -v 0.4.4 -i /var/www/discourse/plugins/discourse-ai/gems/3.3.6 --no-document --ignore-dependencies --no-user-install
Успешно установлен tokenizers-0.4.4-x86_64-linux
Установлен 1 gem
gem install tiktoken_ruby -v 0.0.9 -i /var/www/discourse/plugins/discourse-ai/gems/3.3.6 --no-document --ignore-dependencies --no-user-install
Успешно установлен tiktoken_ruby-0.0.9-x86_64-linux
Установлен 1 gem
gem install ed25519 -v 1.2.4 -i /var/www/discourse/plugins/discourse-ai/gems/3.3.6 --no-document --ignore-dependencies --no-user-install
Сборка нативных расширений. Это может занять некоторое время...
Успешно установлен ed25519-1.2.4
Установлен 1 gem
... (еще логи установки gems) ...
I, [2025-01-21T02:32:16.600035 #1] INFO -- : Завершение асинхронных процессов
I, [2025-01-21T02:32:16.600051 #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: 39
I, [2025-01-21T02:32:16.600103 #1] INFO -- : Отправка сигнала TERM процессу exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 107
2025-01-21 02:32:16.600 UTC [39] LOG: получен запрос на быстрое завершение работы
107:signal-handler (1737426736) Получен сигнал SIGTERM, планирование завершения работы...
2025-01-21 02:32:16.602 UTC [39] LOG: прерывание всех активных транзакций
2025-01-21 02:32:16.604 UTC [39] LOG: фоновый рабочий "запускатель логической репликации" (PID 54) завершился с кодом выхода 1
2025-01-21 02:32:16.605 UTC [49] LOG: завершение работы
107:M 21 Jan 2025 02:32:16.612 # Пользователь запросил завершение работы...
107:M 21 Jan 2025 02:32:16.612 * Сохранение финального снимка RDB перед выходом.
2025-01-21 02:32:16.634 UTC [39] LOG: система баз данных завершена
107:M 21 Jan 2025 02:32:16.667 * База данных сохранена на диск
107:M 21 Jan 2025 02:32:16.667 # Redis теперь готов к выходу, до свидания...
> FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' завершилась с ошибкой, код возврата #<Process::Status: pid 837 exit 1>
Место ошибки: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
Ошибка выполнения с параметрами {"cd"=>"$home", "tag"=>"migrate", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
Загрузка не удалась с кодом выхода 1
** НЕ УДАЛОСЬ ЗАГРУЗИТЬСЯ ** пожалуйста, прокрутите вверх и поищите более ранние сообщения об ошибках, их может быть несколько.
./discourse-doctor может помочь диагностировать проблему.
Трудности:
- Я не могу восстановить сайт из резервной копии.
- Пересборка постоянно завершается неудачей, оставляя сайт неработоспособным.
Запрос помощи:
- Как мне подойти к решению этих проблем? Возможно, запуск rebuild app создал ошибочный плагин или что-то подобное?
- Существуют ли какие-либо ручные шаги для восстановления?
- Есть ли предложения по безопасной пересборке сайта из этого состояния?
Я зарегистрировался на размещенном экземпляре Discourse и загрузил резервную копию, но опция восстановления не отображается, хотя файл загрузился нормально.
Я очень благодарен за любые советы или рекомендации о том, как действовать. Пожалуйста, дайте знать, если потребуются дополнительные детали!