mirror of
https://github.com/discourse/discourse.git
synced 2024-11-25 09:42:07 +08:00
fa2a5f6f56
Sometimes we would like to create a base image without any DB access, this assists in creating custom base images with custom plugins that already includes `public/assets` Following this change set you can run: ``` SPROCKETS_CONCURRENT=1 DONT_PRECOMPILE_CSS=1 SKIP_DB_AND_REDIS=1 RAILS_ENV=production bin/rake assets:precompile ``` Then it is straight forward to create a base image without needing a DB or Redis.
36 lines
899 B
Ruby
36 lines
899 B
Ruby
# frozen_string_literal: true
|
|
|
|
# load up git version into memory
|
|
# this way if it changes underneath we still have
|
|
# the original version
|
|
Discourse.git_version
|
|
|
|
if GlobalSetting.skip_redis?
|
|
require 'site_settings/local_process_provider'
|
|
Rails.cache = Discourse.cache
|
|
SiteSetting.provider = SiteSettings::LocalProcessProvider.new
|
|
return
|
|
end
|
|
|
|
reload_settings = lambda {
|
|
RailsMultisite::ConnectionManagement.safe_each_connection do
|
|
begin
|
|
SiteSetting.refresh!
|
|
|
|
unless String === SiteSetting.push_api_secret_key && SiteSetting.push_api_secret_key.length == 32
|
|
SiteSetting.push_api_secret_key = SecureRandom.hex
|
|
end
|
|
rescue ActiveRecord::StatementInvalid
|
|
# This will happen when migrating a new database
|
|
end
|
|
end
|
|
}
|
|
|
|
reload_settings.call
|
|
|
|
if !Rails.configuration.cache_classes
|
|
ActiveSupport::Reloader.to_prepare do
|
|
reload_settings.call
|
|
end
|
|
end
|