При обновлении моего экземпляра с помощью команды ./launcher rebuild app на Ubuntu 22.04 возникает ошибка. Насколько я могу судить, проблемы начинаются здесь:
Выше есть несколько предупреждений вида «_ has unmet peer dependency», но это первая ошибка (за исключением «_ already exists» при настройке базы данных, но я понимаю, что это ожидаемое поведение).
К сожалению, обновление, с которого всё началось, пришлось на день перед моей семейной поездкой на машине, поэтому я был немного спеша и не успел разобраться с проблемой на месте. Но теперь я получаю эту ошибку постоянно. Хост полностью обновлён, и я не помню, чтобы делал что-то особенно необычное при настройке. Примерно 3 месяца назад я перенёс /var/discourse на отдельный том Digital Ocean (что, как я знаю, не рекомендуется из-за проблем с производительностью, но для форума с одним пользователем я решил, что это приемлемый компромисс), но после этого изменения всё работало нормально, насколько я могу судить.
Для этого мне нужно войти в контейнер. Я сделал это, и после запуска контейнера веб-интерфейс выдает:
Ой
Программное обеспечение, управляющее этим форумом, столкнулось с неожиданной проблемой. Приносим извинения за неудобства.
Подробная информация об ошибке была записана в журнал, и было автоматически сгенерировано уведомление. Мы разберемся в этом.
Дальнейших действий с вашей стороны не требуется. Однако, если ошибка сохранится, вы можете предоставить дополнительные детали, включая шаги для воспроизведения ошибки, опубликовав тему обсуждения в категории обратной связи сайта.
Насколько я помню, нет (если только @mattdm не прокрался с ними, пока я не смотрел ). Утилита discourse-doctor тоже сообщает: «Несанкционированные плагины не обнаружены».
fatal: не репозиторий git (или любой родитель до точки монтирования /var)
Ваш каталог /var/discourse не является репозиторием git, что нарушает автоматическое обновление launcher и инструментов, которые мы используем для инициализации Discourse. В результате вы застряли на старом образе Docker.
Вам нужно отменить изменения, которые привели к этой проблеме.
При копировании файлов в ваш том вы не скопировали .git, поэтому вам нужно клонировать репозиторий и поместить туда остальные файлы.
Вам, вероятно, стоит сделать так, чтобы ваш том содержал только загрузки (uploads), что, как я предполагаю, занимает основную часть места. Тогда на томе останутся только загрузки и резервные копии.
О боже. Я, наверное, могу точно угадать, что я сделал, и это связано с тем, что * не совпадает с .git в команде rsync. Это не первый раз, когда я использую rsync, чтобы усложнить себе жизнь. Спасибо, что заметили это!
Есть ли техническая причина, по которой пересборка не может завершиться на этом этапе? Это упростило бы устранение неполадок (хотя начало с верху, а не с низу тоже помогло бы).
К счастью, у меня всё ещё есть архив до миграции, потому что я не утратил все навыки системного администратора за эти годы.
Это на самом маленьком инстансе Digital Ocean, поэтому в основном место занимает сама система. Загрузки и резервные копии вместе занимают около 100 МБ. Думаю, если я решу что-то изменить, то перейду на инстанс побольше с большим объёмом диска.