Сегодня я получил первое сообщение «Вы используете устаревшую версию образа Discourse. Обновления через веб-интерфейс отключены, пока вы не запустите последний образ», и, кажется, сломал свою установку.
Я следовал инструкциям, выполняя каждую команду через sudo, так как мой хостинг-провайдер не разрешает создание пользователей root.
cd /var/discourse
sudo git pull
sudo ./launcher rebuild app
Затем мне пришлось выполнить sudo git stash перед pull, так как возникла ошибка из-за конфликтов.
Казалось, всё шло нормально (я оставил процесс на более чем час), но затем сеанс Terminal закрылся (ошибка broken pipe). Чтобы это исправить, я установил ClientAliveInterval на сервере в 60 секунд (ранее эта настройка была закомментирована), перезапустил сервер и попытался снова.
Теперь при запуске скрипта rebuild он падает, когда пытается остановить контейнер docker.
Я попытался обойти это, запустив docker kill <id> перед выполнением скрипта rebuild, но происходит тот же сбой (загрузка CPU 100% в течение примерно 15 минут… затем ничего не происходит в течение часов).
После перезагрузки сайт всё ещё запускается, но обновить его не удаётся (обновитель в интерфейсе по-прежнему сообщает, что я использую устаревший образ Discourse).
Попробуйте использовать tmux (или аналогичный инструмент), чтобы сеанс оставался открытым при потере соединения (вы можете подключиться к сеансу с помощью tmux attach).
Мой провайдер VPS, webdock.io (кстати, отличная компания), не поддерживает ZFS, так как использует его на уровне хоста; мне посоветовали, что вложенный ZFS не подходит. Они также не рекомендовали overlay2 для моей установки и предложили отредактировать launcher, чтобы включить драйвер хранения vfs, которого по умолчанию нет.
Привет, @ajmuir,
Я знаю, что вы решили свою проблему больше года назад, но хотел бы добавить своё мнение в это обсуждение, а также помочь новым пользователям, которые найдут эту ветку, чтобы они выбрали правильный путь.
Причина в том, что vfs приводит к высокому потреблению дискового пространства.
Однако использование fuse-overlayfs для Docker вызовет предупреждение или ошибку на стороне загрузчика Discourse, поскольку это не рекомендуемый драйвер.
Вы также можете поступить так, как вы уже сделали, добавив установленный драйвер в команду egrep.
И почему вы говорите, что Webdock не позволяет создавать пользователей root?
Вы можете просто переключиться на root с помощью sudo su и после этого выполнить команды из руководства по установке Discourse.