Мне стоит пропустить препайл

Здравствуйте,

Я должен пропустить процесс [bundle exec rake assets:precompile] в приложении ./launcher bootstrap по соображениям безопасности, так как оно не должно иметь доступа к базе данных.

Я просто отредактировал web-template, чтобы пропустить этот шаг, и запуск Discourse прошел успешно. Однако отображается только пустой экран. Что-то не так с ассетами, например:

discourse-details.js:1 Failed to load resource: the server responded with a status of 404 ()
discourse-local-dates.js:1 Failed to load resource: the server responded with a status of 404 ()
discourse-presence.js:1 Failed to load resource: the server responded with a status of 404 ()
discourse-narrative-bot.js:1 Failed to load resource: the server responded with a status of 404 ()
docker_manager.js:1 Failed to load resource: the server responded with a status of 404 ()
lazy-yt.js:1 Failed to load resource: the server responded with a status of 404 ()
poll.js:1 Failed to load resource: the server responded with a status of 404 ()
discourse-presence.js:1 Failed to load resource: the server responded with a status of 404 ()
docker_manager.js:1 Failed to load resource: the server responded with a status of 404 ()
lazy-yt.js:1 Failed to load resource: the server responded with a status of 404 ()
poll.js:1 Failed to load resource: the server responded with a status of 404 ()

Ссылка: Rake assets:precompile without database

Темы хранятся в базе данных (их редактируют через административный интерфейс), поэтому CSS находится внутри PostgreSQL. Следовательно, для компиляции ассетов на этапе сборки требуется подключение к базе данных.

Поэтому я успешно выполнил “precompile” в зоне без ограничений безопасности, используя ту же БД, и всё работает отлично. Я проверил, что темы и CSS успешно сохранены в БД.

Я подключился к серверу “без precompile”, используя ту же базу данных, но не смог получить CSS, JS и файлы тем.

Я хочу скопировать и вставить файлы ассетов из зоны без ограничений безопасности на целевой сервер. В какую директорию их нужно вставить? Или что еще нужно сделать?

Или… Есть ли способ получить ассеты (темы, CSS, JS…), пропустив “precompile”?

Буду ждать вашего быстрого ответа. Спасибо.

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

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