Сбой обновления консоли администратора

Когда я использовал консоль администратора, я получил это сообщение, хотя раньше всё работало нормально.
Обновления через веб-интерфейс отключены, пока вы не запустите последний образ.

Чтобы это сделать, войдите на свой сервер по SSH и выполните:

    cd /var/discourse
    git pull
    ./launcher rebuild app

Но когда я последовал этим простым инструкциям, я получил сообщение об ошибке:

FAILED

Pups::ExecError: cd /var/www/discourse && su discourse -c ‘bundle exec rake themes:update assets:precompile’ failed with return #<Process::Status: pid 518 exit 1>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn’
exec failed with the params {“cd”=>“$home”, “hook”=>“assets_precompile”, “cmd”=>[“su discourse -c ‘bundle exec rake themes:update assets:precompile’”]}
e3eb2969bd230aeaf5a9405901e7059aa898c61b41eec2156960a6bd2e08dd33
** FAILED TO BOOTSTRAP ** пожалуйста, прокрутите вверх и поищите более ранние сообщения об ошибках, их может быть несколько.
./discourse-doctor может помочь в диагностике проблемы.

Когда я запускаю ./discourse-doctor, процесс пересборки начинается, но у меня всё ещё та же проблема с консолью обновления администратора.

Ошибка находится выше в логе.

Можете проверить или опубликовать файл лога?

Не уверен, насколько далеко заходить, вот ещё немного информации

Ошибка ответа от демона: сбой программирования внешней связи на конечной точке app (1e145a00615964e521bbfcec584bb3adf14171590767841a1eaa58e04b064615): ошибка запуска прокси пользовательского режима: прослушивание tcp4 0.0.0.0:443: привязка: адрес уже используется
Ошибка: не удалось запустить контейнеры: app
Не удалось перезапустить контейнер.

Вот прикреплённый файл журнала:
discourse-debug.txt (167,5 КБ)

Похоже, что у вас запущен какой-то другой веб-сервер. Вы можете проверить, не занят ли порт каким-либо процессом, или убедиться, что запущены Apache или Nginx.

Похоже, что в одной из тем есть ошибка. Вы можете выполнить

 ./launcher start app

чтобы перезапустить сервер (что не сработает, если порт 443 занят другим процессом), а затем попробовать удалить темы и добавить их обратно после обновления.

Это единственные два протокола, использующие порт 443

root@geeksove:/var/discourse# sudo lsof -i:443
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
docker-pr 44758 root 4u IPv4 926438 0t0 TCP *:https (LISTEN)
docker-pr 44764 root 4u IPv6 926445 0t0 TCP *:https (LISTEN)
root@geeksove:/var/discourse#

Тогда что же это значит

    docker ps

root@geeksove:/var/discourse# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8bf07ae47872 local_discourse/app “/sbin/boot” 7 weeks ago Up 2 hours 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp app

Спасибо за помощь.

Кит

Значит, Discourse уже запущен.

Да, работает, за исключением модуля обновления: он постоянно возвращает исходное сообщение.

Думаю, проблема в компоненте темы. Вам нужно удалить его, обновить, а затем добавлять темы по одной, пока не найдете источник проблемы. Или, по крайней мере, так мне кажется.