# Command line restore for web only container can't load thor

**URL:** <https://meta.discourse.org/t/command-line-restore-for-web-only-container-cant-load-thor/68570>\
**Category:** Development\
**Tags:** two-container\
**Created:** [22 أغسطس 2017، 10:36م UTC](https://meta.discourse.org/t/command-line-restore-for-web-only-container-cant-load-thor/68570 "2017-08-22T22:36:58Z")\
**Posts on this page:** 1\
**Showing post:** 10

<div class="post-metadata">

**Author:** ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)\
**Post date:** [25 أغسطس 2017، 11:10ص UTC](https://meta.discourse.org/t/command-line-restore-for-web-only-container-cant-load-thor/68570/10 "2017-08-25T11:10:40Z")

</div>

So I guess that `script/discourse` works in a development environment and the `discourse` wrapper works in production? Is there a way for the script to tell?

And, really, this is a fringe feature that tens of people will probably ever use.

In production, running `discourse` instead of `script/discourse` works.

```plaintext
root@discourse-2gb-fra1-01-app:/var/www/discourse# bundle exec script/discourse enable_restore
Expected string default value for '--verbose'; got false (boolean)
bundler: failed to load command: script/discourse (script/discourse)
PG::ConnectionBad: FATAL: Peer authentication failed for user "discourse"

  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.9/lib/active_record/connection_adapters/postgresql_adapter.rb:651:in `initialize'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.9/lib/active_record/connection_adapters/postgresql_adapter.rb:651:in `new'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.9/lib/active_record/connection_adapters/postgresql_adapter.rb:651:in `connect'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.9/lib/active_record/connection_adapters/postgresql_adapter.rb:242:in `initialize'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.9/lib/active_record/connection_adapters/postgresql_adapter.rb:44:in `new'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.9/lib/active_record/connection_adapters/postgresql_adapter.rb:44:in `postgresql_connection'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.9/lib/active_record/connection_adapters/abstract/connection_pool.rb:438:in `new_connection'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.9/lib/active_record/connection_adapters/abstract/connection_pool.rb:448:in `checkout_new_connection'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.9/lib/active_record/connection_adapters/abstract/connection_pool.rb:422:in `acquire_connection'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.9/lib/active_record/connection_adapters/abstract/connection_pool.rb:349:in `block in checkout'
  /usr/local/lib/ruby/2.3.0/monitor.rb:214:in `mon_synchronize'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.9/lib/active_record/connection_adapters/abstract/connection_pool.rb:348:in `checkout'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.9/lib/active_record/connection_adapters/abstract/connection_pool.rb:263:in `block in connection'
  /usr/local/lib/ruby/2.3.0/monitor.rb:214:in `mon_synchronize'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.9/lib/active_record/connection_adapters/abstract/connection_pool.rb:262:in `connection'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.9/lib/active_record/connection_adapters/abstract/connection_pool.rb:571:in `retrieve_connection'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.9/lib/active_record/connection_handling.rb:113:in `retrieve_connection'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.9/lib/active_record/connection_handling.rb:87:in `connection'
  /var/www/discourse/lib/site_settings/db_provider.rb:62:in `table_exists?'
  /var/www/discourse/lib/site_settings/db_provider.rb:21:in `find'
  /var/www/discourse/lib/site_settings/defaults_provider.rb:108:in `block in refresh_site_locale!'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/rails_multisite-1.0.6/lib/rails_multisite/connection_management.rb:126:in `block in each_connection'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/rails_multisite-1.0.6/lib/rails_multisite/connection_management.rb:124:in `each'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/rails_multisite-1.0.6/lib/rails_multisite/connection_management.rb:124:in `each_connection'
  /var/www/discourse/lib/site_settings/defaults_provider.rb:102:in `refresh_site_locale!'
  /var/www/discourse/lib/site_settings/defaults_provider.rb:19:in `initialize'
  /var/www/discourse/lib/site_setting_extension.rb:35:in `new'
  /var/www/discourse/lib/site_setting_extension.rb:35:in `defaults'
  /var/www/discourse/lib/site_setting_extension.rb:69:in `block in setting'
  /var/www/discourse/lib/site_setting_extension.rb:68:in `synchronize'
  /var/www/discourse/lib/site_setting_extension.rb:68:in `setting'
  /var/www/discourse/app/models/site_setting.rb:17:in `block in load_settings'
  /var/www/discourse/lib/site_settings/yaml_loader.rb:25:in `block (2 levels) in load'
  /var/www/discourse/lib/site_settings/yaml_loader.rb:11:in `each'
  /var/www/discourse/lib/site_settings/yaml_loader.rb:11:in `block in load'
  /var/www/discourse/lib/site_settings/yaml_loader.rb:10:in `each_key'
  /var/www/discourse/lib/site_settings/yaml_loader.rb:10:in `load'
  /var/www/discourse/app/models/site_setting.rb:16:in `load_settings'
  /var/www/discourse/app/models/site_setting.rb:21:in `<class:SiteSetting>'
  /var/www/discourse/app/models/site_setting.rb:4:in `<top (required)>'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.9/lib/active_support/dependencies.rb:274:in `require'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.9/lib/active_support/dependencies.rb:274:in `block in require'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.9/lib/active_support/dependencies.rb:240:in `load_dependency'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.9/lib/active_support/dependencies.rb:274:in `require'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.9/lib/active_support/dependencies.rb:360:in `require_or_load'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.9/lib/active_support/dependencies.rb:494:in `load_missing_constant'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.9/lib/active_support/dependencies.rb:184:in `const_missing'
  /var/www/discourse/config/initializers/004-message_bus.rb:84:in `<top (required)>'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.9/lib/active_support/dependencies.rb:268:in `load'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.9/lib/active_support/dependencies.rb:268:in `block in load'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.9/lib/active_support/dependencies.rb:240:in `load_dependency'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.9/lib/active_support/dependencies.rb:268:in `load'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/railties-4.2.9/lib/rails/engine.rb:652:in `block in load_config_initializer'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.9/lib/active_support/notifications.rb:166:in `instrument'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/railties-4.2.9/lib/rails/engine.rb:651:in `load_config_initializer'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/railties-4.2.9/lib/rails/engine.rb:616:in `block (2 levels) in <class:Engine>'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/railties-4.2.9/lib/rails/engine.rb:615:in `each'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/railties-4.2.9/lib/rails/engine.rb:615:in `block in <class:Engine>'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/railties-4.2.9/lib/rails/initializable.rb:30:in `instance_exec'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/railties-4.2.9/lib/rails/initializable.rb:30:in `run'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/railties-4.2.9/lib/rails/initializable.rb:55:in `block in run_initializers'
  /usr/local/lib/ruby/2.3.0/tsort.rb:228:in `block in tsort_each'
  /usr/local/lib/ruby/2.3.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
  /usr/local/lib/ruby/2.3.0/tsort.rb:422:in `block (2 levels) in each_strongly_connected_component_from'
  /usr/local/lib/ruby/2.3.0/tsort.rb:431:in `each_strongly_connected_component_from'
  /usr/local/lib/ruby/2.3.0/tsort.rb:421:in `block in each_strongly_connected_component_from'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/railties-4.2.9/lib/rails/initializable.rb:44:in `each'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/railties-4.2.9/lib/rails/initializable.rb:44:in `tsort_each_child'
  /usr/local/lib/ruby/2.3.0/tsort.rb:415:in `call'
  /usr/local/lib/ruby/2.3.0/tsort.rb:415:in `each_strongly_connected_component_from'
  /usr/local/lib/ruby/2.3.0/tsort.rb:349:in `block in each_strongly_connected_component'
  /usr/local/lib/ruby/2.3.0/tsort.rb:347:in `each'
  /usr/local/lib/ruby/2.3.0/tsort.rb:347:in `call'
  /usr/local/lib/ruby/2.3.0/tsort.rb:347:in `each_strongly_connected_component'
  /usr/local/lib/ruby/2.3.0/tsort.rb:226:in `tsort_each'
  /usr/local/lib/ruby/2.3.0/tsort.rb:205:in `tsort_each'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/railties-4.2.9/lib/rails/initializable.rb:54:in `run_initializers'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/railties-4.2.9/lib/rails/application.rb:352:in `initialize!'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/railties-4.2.9/lib/rails/railtie.rb:194:in `public_send'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/railties-4.2.9/lib/rails/railtie.rb:194:in `method_missing'
  /var/www/discourse/config/environment.rb:5:in `<top (required)>'
  script/discourse:221:in `require'
  script/discourse:221:in `load_rails'
  script/discourse:137:in `enable_restore'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/thor-0.19.4/lib/thor/command.rb:27:in `run'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/thor-0.19.4/lib/thor/invocation.rb:126:in `invoke_command'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/thor-0.19.4/lib/thor.rb:369:in `dispatch'
  /var/www/discourse/vendor/bundle/ruby/2.3.0/gems/thor-0.19.4/lib/thor/base.rb:444:in `start'
  script/discourse:262:in `<top (required)>'

```

Here’s what /usr/local/bin/discourse does:

```plaintext
#!/bin/bash
(cd /var/www/discourse && RAILS_ENV=production sudo -H -E -u discourse bundle exec script/discourse "$@")

```

---

_[View the full topic](https://meta.discourse.org/t/command-line-restore-for-web-only-container-cant-load-thor/68570)._
