Fix mastodon:setup not running properly when some environment variables are set (#13928)

When using one of the docker-compose containers, mastodon:setup will use the
existing .env.production rather than the generated one during the setup steps.

This is because dotenv does not overwrite env variables that are alreayd
defined, and the docker-compose.yml file loads the environment variables
from .env.production.
master
ThibG 5 years ago committed by GitHub
parent f96a891853
commit 9b7e3b4774
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      lib/tasks/mastodon.rake

@ -367,7 +367,7 @@ namespace :mastodon do
prompt.say 'Running `RAILS_ENV=production rails db:setup` ...' prompt.say 'Running `RAILS_ENV=production rails db:setup` ...'
prompt.say "\n\n" prompt.say "\n\n"
if cmd.run!({ RAILS_ENV: 'production', SAFETY_ASSURED: 1 }, :rails, 'db:setup').failure? if cmd.run!(env.merge({ RAILS_ENV: 'production', SAFETY_ASSURED: 1 }), :rails, 'db:setup').failure?
prompt.error 'That failed! Perhaps your configuration is not right' prompt.error 'That failed! Perhaps your configuration is not right'
else else
prompt.ok 'Done!' prompt.ok 'Done!'
@ -382,7 +382,7 @@ namespace :mastodon do
prompt.say 'Running `RAILS_ENV=production rails assets:precompile` ...' prompt.say 'Running `RAILS_ENV=production rails assets:precompile` ...'
prompt.say "\n\n" prompt.say "\n\n"
if cmd.run!({ RAILS_ENV: 'production' }, :rails, 'assets:precompile').failure? if cmd.run!(env.merge({ RAILS_ENV: 'production' }), :rails, 'assets:precompile').failure?
prompt.error 'That failed! Maybe you need swap space?' prompt.error 'That failed! Maybe you need swap space?'
else else
prompt.say 'Done!' prompt.say 'Done!'

Loading…
Cancel
Save