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.
This commit is contained in:
ThibG 2020-06-02 13:57:21 +02:00 committed by GitHub
parent f96a891853
commit 9b7e3b4774
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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!'