Как обновить, если в `/var/discourse` только `shared` и это не git-репозиторий

Уважаемые коллеги,

У меня есть экземпляр Discourse, настроенный предыдущим администратором на нашем сервере отдела. Я мало знаком с Discourse, но система требует обновления и предлагает выполнить следующие команды:

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

Однако при переходе в директорию /var/discourse я вижу только папку shared, и команда git pull не выполняется (так как это не репозиторий Git). Что мне следует сделать?

Вам следует выполнить чистую установку на новой виртуальной машине, создать резервную копию и восстановить её на новую установку.

Если такой ответ вас не устраивает, то вам следует попросить того, кто настраивал эту систему, прийти и исправить ситуацию.

@pfaffman Что вы имеете в виду под новой ВМ? Образ Docker для Discourse? Проблема в том, что я не могу найти руководство по управлению Discourse через Docker.

Новая ВМ означает новый виртуальный сервер, если ваш экземпляр не работает на выделенном оборудовании.

Если Discourse запущен, но каталог /var/discourse пуст, это либо очень старая установка, либо неподдерживаемый пакет.

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

Вы делаете это так: https://meta.discourse.org/t/discourse-official-standard-installation/142537

Действительно, скорее всего, дело именно в этом. У вас запущена версия Discourse 2.1.0 (для большей ясности).

В том-то и суть: мой экземпляр работает именно на выделенном оборудовании.

Итак, я понимаю, что сейчас Docker не используется. По крайней мере, вручную. Хорошо хотя бы знать, что существует всего один способ настройки, и он использует только git clone и скрипт установки.

Меня беспокоит вопрос, как аккуратно удалить старую версию, учитывая, что всё происходит на физическом сервере (то есть ничего «виртуального»). Я сделал резервную копию, это просто. Что дальше?

Теперь установите на другой машине. Виртуальная машина предпочтительнее, так как её проще масштабировать. Системные требования указаны в документации по установке.

После запуска новой установки восстановите резервную копию.

Какой это тип экземпляра? Насколько он загружен? Используется ли он постоянно?

О боже… это с конца середины 2018 года. Вам точно нужно обновиться. Помимо отсутствия множества отличных функций, было выпущено довольно много исправлений безопасности, включая некоторые критические, которых у вас нет.

К сожалению, у меня нет другой машины.

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

Спасибо всем за ответы! Я спросил старого админа, и он помог. Репозиторий Git по какой-то причине находился в /var/docker вместо /var/discourse. Оттуда стало возможным применить стандартную процедуру. Теперь мы на последней версии (2.6), ура! :tada:

Ага! Это было рекомендуемое место очень, очень давно (до того, как я начал использовать Discourse 4 года назад).

Похоже, моё решение «спросить старого парня» действительно сработало!

Рекомендую оставить немного документации на всякий случай:

echo "it's in /var/docker" > where-is-launcher

Хорошая идея. Или, может быть,

 cd /var/
 ln -s /var/docker discourse

Хотя это может запутать launcher.

Не самая лучшая идея, так как /var/discourse уже существует и содержит shared