So I’m having trouble getting a local copy on OSX running. We’ll ultimately be deploying to linux, but we’d like to be able to have a local copy running for development purposes.
I’m following the github instructions from https://github.com/openaustralia/morph, but I’m not sure how docker ties into the instructions? I have docker installed, as per the OSX docker installation instructions, but there’s no call to docker run/build/compose anywhere in the instructions, so it’s not clear to me how much of it is dockerized and how much I need to do locally.
Following the instructions, I’m able to get the site running on localhost with
bundle exec dotenv foreman start
but I’m having trouble authenticating with github. I have the app registered with github with the settings in the instructions, but it throws:
execution expired```
Seeing as all of these commands are running on my machine and not in a docker container, I'm assuming the instructions aren't for a docker installation?
I also just tried running
```docker-compose up```
which seems to build everything, and morph_db and morph_elasticsearch run just fine, but morph_proxy and morph_web don’t. morph_proxy exits with the following error:
```pkg_resources.DistributionNotFound: The 'pyasn1>0.1.2' distribution was not found and is required by mitmproxy```
and morph_web isn’t able to connect to the db:
```Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) (Mysql2::Error)```
I’m not sure whether that’s supposed to be the mysql db in morph_db, or if I’m supposed to have a separate mysql on localhost/in the docker VM? So it'd be nice to have some clarification about how much of the system is dockerized and how much we need to do locally. Thanks!
Here's the full log from ```docker-compose up```
Starting morph_db_1
Starting morph_elasticsearch_1
Starting morph_web_1
Starting morph_proxy_1
Attaching to morph_db_1, morph_elasticsearch_1, morph_web_1, morph_proxy_1
db_1 | 2017-05-17T17:31:22.097189Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
db_1 | 2017-05-17T17:31:22.108896Z 0 [Note] mysqld (mysqld 5.7.18) starting as process 1 ...
db_1 | 2017-05-17T17:31:22.134039Z 0 [Note] InnoDB: PUNCH HOLE support available
db_1 | 2017-05-17T17:31:22.134139Z 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
db_1 | 2017-05-17T17:31:22.134195Z 0 [Note] InnoDB: Uses event mutexes
db_1 | 2017-05-17T17:31:22.134212Z 0 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
db_1 | 2017-05-17T17:31:22.134222Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.3
db_1 | 2017-05-17T17:31:22.134232Z 0 [Note] InnoDB: Using Linux native AIO
db_1 | 2017-05-17T17:31:22.147147Z 0 [Note] InnoDB: Number of pools: 1
db_1 | 2017-05-17T17:31:22.160260Z 0 [Note] InnoDB: Using CPU crc32 instructions
db_1 | 2017-05-17T17:31:22.164713Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
db_1 | 2017-05-17T17:31:22.235981Z 0 [Note] InnoDB: Completed initialization of buffer pool
db_1 | 2017-05-17T17:31:22.265523Z 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
db_1 | 2017-05-17T17:31:22.309855Z 0 [Note] InnoDB: Highest supported file format is Barracuda.
db_1 | 2017-05-17T17:31:22.399676Z 0 [Note] InnoDB: Creating shared tablespace for temporary tables
db_1 | 2017-05-17T17:31:22.399831Z 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
db_1 | 2017-05-17T17:31:22.520380Z 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
db_1 | 2017-05-17T17:31:22.528875Z 0 [Note] InnoDB: 96 redo rollback segment(s) found. 96 redo rollback segment(s) are active.
db_1 | 2017-05-17T17:31:22.529330Z 0 [Note] InnoDB: 32 non-redo rollback segment(s) are active.
db_1 | 2017-05-17T17:31:22.555903Z 0 [Note] InnoDB: Waiting for purge to start
db_1 | 2017-05-17T17:31:22.606878Z 0 [Note] InnoDB: 5.7.18 started; log sequence number 12139872
db_1 | 2017-05-17T17:31:22.612516Z 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
db_1 | 2017-05-17T17:31:22.613626Z 0 [Note] Plugin 'FEDERATED' is disabled.
db_1 | 2017-05-17T17:31:22.750675Z 0 [Note] Found ca.pem, server-cert.pem and server-key.pem in data directory. Trying to enable SSL support using them.
db_1 | 2017-05-17T17:31:22.754121Z 0 [Warning] CA certificate ca.pem is self signed.
db_1 | 2017-05-17T17:31:22.756126Z 0 [Note] InnoDB: Buffer pool(s) load completed at 170517 17:31:22
db_1 | 2017-05-17T17:31:22.761595Z 0 [Note] Server hostname (bind-address): '*'; port: 3306
proxy_1 | Traceback (most recent call last):
db_1 | 2017-05-17T17:31:22.763349Z 0 [Note] IPv6 is available.
db_1 | 2017-05-17T17:31:22.764069Z 0 [Note] - '::' resolves to '::';
db_1 | 2017-05-17T17:31:22.764117Z 0 [Note] Server socket created on IP: '::'.
db_1 | 2017-05-17T17:31:22.781439Z 0 [Warning] 'user' entry 'root@localhost' ignored in --skip-name-resolve mode.
db_1 | 2017-05-17T17:31:22.781534Z 0 [Warning] 'user' entry 'mysql.sys@localhost' ignored in --skip-name-resolve mode.
db_1 | 2017-05-17T17:31:22.782603Z 0 [Warning] 'db' entry 'sys mysql.sys@localhost' ignored in --skip-name-resolve mode.
proxy_1 | File "/usr/local/bin/mitmdump", line 6, in <module>
proxy_1 | from pkg_resources import load_entry_point
proxy_1 | File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 3036, in <module>
proxy_1 | @_call_aside
proxy_1 | File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 3020, in _call_aside
proxy_1 | f(*args, **kwargs)
proxy_1 | File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 3049, in _initialize_master_working_set
proxy_1 | working_set = WorkingSet._build_master()
proxy_1 | File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 654, in _build_master
proxy_1 | ws.require(__requires__)
proxy_1 | File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 968, in require
proxy_1 | needed = self.resolve(parse_requirements(requirements))
proxy_1 | File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 854, in resolve
db_1 | 2017-05-17T17:31:22.784456Z 0 [Warning] 'proxies_priv' entry '@ root@localhost' ignored in --skip-name-resolve mode.
proxy_1 | raise DistributionNotFound(req, requirers)
proxy_1 | pkg_resources.DistributionNotFound: The 'pyasn1>0.1.2' distribution was not found and is required by mitmproxy
db_1 | 2017-05-17T17:31:22.837686Z 0 [Warning] 'tables_priv' entry 'sys_config mysql.sys@localhost' ignored in --skip-name-resolve mode.
db_1 | 2017-05-17T17:31:22.997778Z 0 [Note] Event Scheduler: Loaded 0 events
morph_proxy_1 exited with code 1
db_1 | 2017-05-17T17:31:22.999152Z 0 [Note] mysqld: ready for connections.
db_1 | Version: '5.7.18' socket: '/var/run/mysqld/mysqld.sock' port: 3306 MySQL Community Server (GPL)
db_1 | 2017-05-17T17:31:22.999272Z 0 [Note] Executing 'SELECT * FROM INFORMATION_SCHEMA.TABLES;' to get a list of tables using the deprecated partition engine. You may use the startup option '--disable-partition-engine-check' to skip this check.
db_1 | 2017-05-17T17:31:22.999291Z 0 [Note] Beginning of list of non-natively partitioned tables
elasticsearch_1 | [2017-05-17 17:31:24,501][INFO ][node ] [Maelstrom] version[1.6.0], pid[1], build[cdd3ac4/2015-06-09T13:36:34Z]
elasticsearch_1 | [2017-05-17 17:31:24,502][INFO ][node ] [Maelstrom] initializing ...
elasticsearch_1 | [2017-05-17 17:31:24,521][INFO ][plugins ] [Maelstrom] loaded [], sites []
elasticsearch_1 | [2017-05-17 17:31:24,682][INFO ][env ] [Maelstrom] using [1] data paths, mounts [[/usr/share/elasticsearch/data (/dev/sda1)]], net usable_space [179.4gb], net total_space [192.6gb], types [ext4]
elasticsearch_1 | [2017-05-17 17:31:32,508][INFO ][node ] [Maelstrom] initialized
elasticsearch_1 | [2017-05-17 17:31:32,508][INFO ][node ] [Maelstrom] starting ...
elasticsearch_1 | [2017-05-17 17:31:32,891][INFO ][transport ] [Maelstrom] bound_address {inet[/0:0:0:0:0:0:0:0:9300]}, publish_address {inet[/172.17.0.3:9300]}
elasticsearch_1 | [2017-05-17 17:31:32,980][INFO ][discovery ] [Maelstrom] elasticsearch/09R7SUgnS4CSHCD9DxgTpQ
elasticsearch_1 | [2017-05-17 17:31:36,853][INFO ][cluster.service ] [Maelstrom] new_master [Maelstrom][09R7SUgnS4CSHCD9DxgTpQ][49d5d361c4b2][inet[/172.17.0.3:9300]], reason: zen-disco-join (elected_as_master)
elasticsearch_1 | [2017-05-17 17:31:36,930][INFO ][http ] [Maelstrom] bound_address {inet[/0:0:0:0:0:0:0:0:9200]}, publish_address {inet[/172.17.0.3:9200]}
elasticsearch_1 | [2017-05-17 17:31:36,950][INFO ][node ] [Maelstrom] started
web_1 | Array values in the parameter to `Gem.paths=` are deprecated.
web_1 | Please use a String or nil.
web_1 | An Array ({"GEM_PATH"=>["/usr/local/bundle"]}) was passed in from bin/rails:3:in `load'
web_1 | => Booting Puma
web_1 | => Rails 4.2.7.1 application starting in development on http://0.0.0.0:3000
web_1 | => Run `rails server -h` for more startup options
web_1 | => Ctrl-C to shutdown server
web_1 | Exiting
web_1 | /usr/local/bundle/gems/mysql2-0.4.5/lib/mysql2/client.rb:89:in `connect': Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) (Mysql2::Error)
web_1 | from /usr/local/bundle/gems/mysql2-0.4.5/lib/mysql2/client.rb:89:in `initialize'
web_1 | from /usr/local/bundle/gems/activerecord-4.2.7.1/lib/active_record/connection_adapters/mysql2_adapter.rb:18:in `new'
web_1 | from /usr/local/bundle/gems/activerecord-4.2.7.1/lib/active_record/connection_adapters/mysql2_adapter.rb:18:in `mysql2_connection'
web_1 | from /usr/local/bundle/gems/activerecord-4.2.7.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:438:in `new_connection'
web_1 | from /usr/local/bundle/gems/activerecord-4.2.7.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:448:in `checkout_new_connection'
web_1 | from /usr/local/bundle/gems/activerecord-4.2.7.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:422:in `acquire_connection'
web_1 | from /usr/local/bundle/gems/activerecord-4.2.7.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:349:in `block in checkout'
web_1 | from /usr/local/lib/ruby/2.3.0/monitor.rb:214:in `mon_synchronize'
web_1 | from /usr/local/bundle/gems/activerecord-4.2.7.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:348:in `checkout'
web_1 | from /usr/local/bundle/gems/activerecord-4.2.7.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:263:in `block in connection'
web_1 | from /usr/local/lib/ruby/2.3.0/monitor.rb:214:in `mon_synchronize'
web_1 | from /usr/local/bundle/gems/activerecord-4.2.7.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:262:in `connection'
web_1 | from /usr/local/bundle/gems/activerecord-4.2.7.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:571:in `retrieve_connection'
web_1 | from /usr/local/bundle/gems/activerecord-4.2.7.1/lib/active_record/connection_handling.rb:113:in `retrieve_connection'
web_1 | from /usr/local/bundle/gems/activerecord-4.2.7.1/lib/active_record/connection_handling.rb:87:in `connection'
web_1 | from /usr/local/bundle/gems/activerecord-4.2.7.1/lib/active_record/model_schema.rb:230:in `table_exists?'
web_1 | from /morph/config/initializers/sidekiq.rb:3:in `<top (required)>'
web_1 | from /usr/local/bundle/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:268:in `load'
web_1 | from /usr/local/bundle/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:268:in `block in load'
web_1 | from /usr/local/bundle/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:240:in `load_dependency'
web_1 | from /usr/local/bundle/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:268:in `load'
web_1 | from /usr/local/bundle/gems/railties-4.2.7.1/lib/rails/engine.rb:652:in `block in load_config_initializer'
web_1 | from /usr/local/bundle/gems/activesupport-4.2.7.1/lib/active_support/notifications.rb:166:in `instrument'
web_1 | from /usr/local/bundle/gems/railties-4.2.7.1/lib/rails/engine.rb:651:in `load_config_initializer'
web_1 | from /usr/local/bundle/gems/railties-4.2.7.1/lib/rails/engine.rb:616:in `block (2 levels) in <class:Engine>'
web_1 | from /usr/local/bundle/gems/railties-4.2.7.1/lib/rails/engine.rb:615:in `each'
web_1 | from /usr/local/bundle/gems/railties-4.2.7.1/lib/rails/engine.rb:615:in `block in <class:Engine>'
web_1 | from /usr/local/bundle/gems/railties-4.2.7.1/lib/rails/initializable.rb:30:in `instance_exec'
web_1 | from /usr/local/bundle/gems/railties-4.2.7.1/lib/rails/initializable.rb:30:in `run'
web_1 | from /usr/local/bundle/gems/railties-4.2.7.1/lib/rails/initializable.rb:55:in `block in run_initializers'
web_1 | from /usr/local/lib/ruby/2.3.0/tsort.rb:228:in `block in tsort_each'
web_1 | from /usr/local/lib/ruby/2.3.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
web_1 | from /usr/local/lib/ruby/2.3.0/tsort.rb:422:in `block (2 levels) in each_strongly_connected_component_from'
web_1 | from /usr/local/lib/ruby/2.3.0/tsort.rb:431:in `each_strongly_connected_component_from'
web_1 | from /usr/local/lib/ruby/2.3.0/tsort.rb:421:in `block in each_strongly_connected_component_from'
web_1 | from /usr/local/bundle/gems/railties-4.2.7.1/lib/rails/initializable.rb:44:in `each'
web_1 | from /usr/local/bundle/gems/railties-4.2.7.1/lib/rails/initializable.rb:44:in `tsort_each_child'
web_1 | from /usr/local/lib/ruby/2.3.0/tsort.rb:415:in `call'
web_1 | from /usr/local/lib/ruby/2.3.0/tsort.rb:415:in `each_strongly_connected_component_from'
web_1 | from /usr/local/lib/ruby/2.3.0/tsort.rb:349:in `block in each_strongly_connected_component'
web_1 | from /usr/local/lib/ruby/2.3.0/tsort.rb:347:in `each'
web_1 | from /usr/local/lib/ruby/2.3.0/tsort.rb:347:in `call'
web_1 | from /usr/local/lib/ruby/2.3.0/tsort.rb:347:in `each_strongly_connected_component'
web_1 | from /usr/local/lib/ruby/2.3.0/tsort.rb:226:in `tsort_each'
web_1 | from /usr/local/lib/ruby/2.3.0/tsort.rb:205:in `tsort_each'
web_1 | from /usr/local/bundle/gems/railties-4.2.7.1/lib/rails/initializable.rb:54:in `run_initializers'
web_1 | from /usr/local/bundle/gems/railties-4.2.7.1/lib/rails/application.rb:352:in `initialize!'
web_1 | from /morph/config/environment.rb:5:in `<top (required)>'
web_1 | from /usr/local/bundle/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:274:in `require'
web_1 | from /usr/local/bundle/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:274:in `block in require'
web_1 | from /usr/local/bundle/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:240:in `load_dependency'
web_1 | from /usr/local/bundle/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:274:in `require'
web_1 | from /morph/config.ru:3:in `block in <main>'
web_1 | from /usr/local/bundle/gems/rack-1.6.5/lib/rack/builder.rb:55:in `instance_eval'
web_1 | from /usr/local/bundle/gems/rack-1.6.5/lib/rack/builder.rb:55:in `initialize'
web_1 | from /morph/config.ru:in `new'
web_1 | from /morph/config.ru:in `<main>'
web_1 | from /usr/local/bundle/gems/rack-1.6.5/lib/rack/builder.rb:49:in `eval'
web_1 | from /usr/local/bundle/gems/rack-1.6.5/lib/rack/builder.rb:49:in `new_from_string'
web_1 | from /usr/local/bundle/gems/rack-1.6.5/lib/rack/builder.rb:40:in `parse_file'
web_1 | from /usr/local/bundle/gems/rack-1.6.5/lib/rack/server.rb:299:in `build_app_and_options_from_config'
web_1 | from /usr/local/bundle/gems/rack-1.6.5/lib/rack/server.rb:208:in `app'
web_1 | from /usr/local/bundle/gems/railties-4.2.7.1/lib/rails/commands/server.rb:61:in `app'
web_1 | from /usr/local/bundle/gems/rack-1.6.5/lib/rack/server.rb:336:in `wrapped_app'
web_1 | from /usr/local/bundle/gems/railties-4.2.7.1/lib/rails/commands/server.rb:139:in `log_to_stdout'
web_1 | from /usr/local/bundle/gems/railties-4.2.7.1/lib/rails/commands/server.rb:78:in `start'
web_1 | from /usr/local/bundle/gems/railties-4.2.7.1/lib/rails/commands/commands_tasks.rb:80:in `block in server'
web_1 | from /usr/local/bundle/gems/railties-4.2.7.1/lib/rails/commands/commands_tasks.rb:75:in `tap'
web_1 | from /usr/local/bundle/gems/railties-4.2.7.1/lib/rails/commands/commands_tasks.rb:75:in `server'
web_1 | from /usr/local/bundle/gems/railties-4.2.7.1/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
web_1 | from /usr/local/bundle/gems/railties-4.2.7.1/lib/rails/commands.rb:17:in `<top (required)>'
web_1 | from /morph/bin/rails:8:in `require'
web_1 | from /morph/bin/rails:8:in `<top (required)>'
web_1 | from /usr/local/bundle/gems/spring-2.0.0/lib/spring/client/rails.rb:28:in `load'
web_1 | from /usr/local/bundle/gems/spring-2.0.0/lib/spring/client/rails.rb:28:in `call'
web_1 | from /usr/local/bundle/gems/spring-2.0.0/lib/spring/client/command.rb:7:in `call'
web_1 | from /usr/local/bundle/gems/spring-2.0.0/lib/spring/client.rb:30:in `run'
web_1 | from /usr/local/bundle/gems/spring-2.0.0/bin/spring:49:in `<top (required)>'
web_1 | from /usr/local/bundle/gems/spring-2.0.0/lib/spring/binstub.rb:31:in `load'
web_1 | from /usr/local/bundle/gems/spring-2.0.0/lib/spring/binstub.rb:31:in `<top (required)>'
web_1 | from /morph/bin/spring:13:in `require'
web_1 | from /morph/bin/spring:13:in `<top (required)>'
web_1 | from bin/rails:3:in `load'
web_1 | from bin/rails:3:in `<main>'
morph_web_1 exited with code 1