РЕДАКТИРОВАНИЕ: Ну, у меня ушло 18 часов, но похоже, что определение DISCOURSE_CDN_URL мешает (по крайней мере) этому сайту пересобираться и/или работать после восстановления. Думаю, следующий шаг — попробовать собрать без DISCOURSE_CDN_URL, а затем запустить контейнер с установленной переменной окружения.
Что я знал до этого
У меня была эта проблема вчера, и я думал, что она исчезла, но оказалось, что я восстановил базу данных месячной давности. Восстановление актуальной базы данных «убивает» сайт.
Я смог собрать сайт с нуля, так что проблема не в коде и не в стандартных плагинах. НО после восстановления базы данных сайт не работает, и я не могу выполнить пересборку, даже если удалю базу данных. Похоже, проблема в каком-то файле, который читается при сжатии JavaScript.
Я попытался удалить все background: image-url в onebox.scss, что позволило сайту пересобраться, но отображение полностью сломано, так что эти ошибки — лишь симптом, а не причина проблемы.
После восстановления базы данных (и файлов) или при пересборке в логах Rails появляются ошибки, подобные следующим:
I, [2019-12-22T21:21:25.532604 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
NOTE: Inheriting Faraday::Error::ClientError is deprecated; use Faraday::ClientError instead. It will be removed in or after version 1.0
Faraday::Error::ClientError.inherited called from /var/www/discourse/plugins/discourse-github/gems/2.6.5/gems/octokit-4.14.0/lib/octokit/middleware/follow_redirects.rb:14.
> Seeding dark and light themes
[SassC::FunctionsHandler] undefined method `protocol' for nil:NilClass
rake aborted!
Discourse::ScssError: Error: error in C function image-url: undefined method `protocol' for nil:NilClass
on line 90 of app/assets/stylesheets/common/base/onebox.scss, in function `image-url`
from line 90 of app/assets/stylesheets/common/base/onebox.scss, in mixin `onebox-favicon`
from line 110 of app/assets/stylesheets/common/base/onebox.scss
from line 34 of app/assets/stylesheets/common.scss
from line 1 of desktop.scss
>> background: image-url("favicons/#{$image}.png") no-repeat 0% 50%;
----------------^
/var/www/discourse/lib/stylesheet/manager.rb:183:in `rescue in compile'
/var/www/discourse/lib/stylesheet/manager.rb:171:in `compile'
/var/www/discourse/lib/stylesheet/manager.rb:80:in `block (2 levels) in stylesheet_details'
/var/www/discourse/lib/stylesheet/manager.rb:66:in `each'
/var/www/discourse/lib/stylesheet/manager.rb:66:in `block in stylesheet_details'
/var/www/discourse/lib/stylesheet/manager.rb:64:in `synchronize'
/var/www/discourse/lib/stylesheet/manager.rb:64:in `stylesheet_details'
/var/www/discourse/lib/stylesheet/manager.rb:34:in `stylesheet_data'
/var/www/discourse/app/models/theme.rb:280:in `block in refresh_message_for_targets'
/var/www/discourse/app/models/theme.rb:279:in `map'
/var/www/discourse/app/models/theme.rb:279:in `refresh_message_for_targets'
/var/www/discourse/app/models/theme.rb:267:in `notify_theme_change'
/var/www/discourse/app/models/theme.rb:275:in `notify_theme_change'
/var/www/discourse/app/models/theme.rb:61:in `block in <class:Theme>'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/callbacks.rb:429:in `instance_exec'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/callbacks.rb:429:in `block in make_lambda'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/callbacks.rb:239:in `block in halting_and_conditional'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/callbacks.r