Почему я не могу установить плагины локально?

Я использую последнюю версию Discourse и пробовал устанавливать корректные плагины в директорию /var/discourse/plugins. Я копирую туда папки с плагинами, но они, очевидно, никогда не устанавливаются; я всегда использую ./launcher rebuild app. Единственный способ, которым я могу их установить, — это через app.yml.

Я хочу установить их в офлайн-режиме для тестирования. Мне не хочется открывать репозиторий на GitHub для установки тестового плагина, это кажется мне контрпродуктивным.

Возможно, стоит настроить среду разработки вместо продакшн-сайта? Вы можете клонировать репозитории напрямую в директорию plugins. Кроме того, это не повлияет на данные вашего продакшн-сайта и не вызовет простоя для ваших пользователей при пересборке. См. Discourse Meta - руководства по установке для разработки по всем темам о том, как настроить среду разработки.

Блокируется ли установка локальных плагинов в производственной среде? Можно ли преобразовать производственную среду в среду разработки, не переделывая всё заново?

Может быть, вы могли бы сделать резервную копию вашей PRD и восстановить её локально?

Хорошо, осталось только узнать, заблокирована ли установка локальных плагинов в продакшене. Надеюсь, кто-то знает.

Не «заблокирована», а просто не работает.

Как сказал Нейт, лучший вариант — настроить локальную среду разработки или продолжать использовать app.yml, если вам так удобнее.

И почему принято делать исходный код публичным при установке плагинов в продакшн? Это значит, что Discourse не поддерживает приватные плагины? Даже репозиторий с токеном всё равно считается публичным плагином на платформе, где он размещён (GitHub, GitLab и т. д.).

Частный репозиторий GitHub/GitLab остаётся частным. Токен — это просто пароль, который позволяет серверу клонировать его. Никто другой не может увидеть код. Он остаётся частным.

Смотрите раздел о частных репозиториях на Install plugins on a self-hosted site

Используйте локальную среду разработки для тестирования плагинов. dev-install

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

Склонируйте плагины в ~/code или аналогичную директорию, а затем создайте для них символические ссылки из каталога плагинов.