{"action":"created","issue":{"url":"https://api.github.com/repos/exercism/exercism.io/issues/2760","repository_url":"https://api.github.com/repos/exercism/exercism.io","labels_url":"https://api.github.com/repos/exercism/exercism.io/issues/2760/labels{/name}","comments_url":"https://api.github.com/repos/exercism/exercism.io/issues/2760/comments","events_url":"https://api.github.com/repos/exercism/exercism.io/issues/2760/events","html_url":"https://github.com/exercism/exercism.io/pull/2760","id":134478186,"number":2760,"title":"Add basic support for docker.","user":{"login":"toolness","id":124687,"avatar_url":"https://avatars.githubusercontent.com/u/124687?v=3","gravatar_id":"","url":"https://api.github.com/users/toolness","html_url":"https://github.com/toolness","followers_url":"https://api.github.com/users/toolness/followers","following_url":"https://api.github.com/users/toolness/following{/other_user}","gists_url":"https://api.github.com/users/toolness/gists{/gist_id}","starred_url":"https://api.github.com/users/toolness/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/toolness/subscriptions","organizations_url":"https://api.github.com/users/toolness/orgs","repos_url":"https://api.github.com/users/toolness/repos","events_url":"https://api.github.com/users/toolness/events{/privacy}","received_events_url":"https://api.github.com/users/toolness/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2016-02-18T04:22:44Z","updated_at":"2016-02-21T23:49:02Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/exercism/exercism.io/pulls/2760","html_url":"https://github.com/exercism/exercism.io/pull/2760","diff_url":"https://github.com/exercism/exercism.io/pull/2760.diff","patch_url":"https://github.com/exercism/exercism.io/pull/2760.patch"},"body":"This is an attempt to resolve #2106.\r\n\r\nMany thanks to https://github.com/hanumakanthvvn/exercism.io/commit/1703e74457249151ec26c044a1706b916d565bee, which this is based off.\r\n\r\nStill to do:\r\n- [x] Add documentation.\r\n- [x] Consider changing the user/group id of the app container via an entrypoint so that any created files aren't owned by `root`.\r\n- [x] ~~Consider auto-running `rake db:migrate` on `docker-compose up` so that the app actually starts up the first time without additional configuration.~~ Ehhhh, running `docker-compose run app rake db:migrate` isn't *that* much of a hassle.\r\n- [x] Consider having the app container wait for the db container to be ready before attempting to connect to it. Otherwise there could technically be an annoying race condition (this has happened to me before on other Docker-based projects).\r\n- [x] Figure out how to also have the [frontend watchers activated](https://github.com/exercism/exercism.io/blob/master/CONTRIBUTING.md#frontend-development-setup). Not sure if this means `lineman` *and* `compass` or if the former auto-runs the latter. Might actually want to set up a separate container called \"frontend\" that is similar to \"app\" but has no links to the db, which just runs the frontend watcher(s).\r\n- [ ] Figure out what to do about lineman. (See [the problem](https://github.com/toolness/exercism.io/blob/214bcf9ca7febdf38364d8ddd284d64f51f3d9ed/docker-compose.yml#L24-L25) I ran into.) [Searching for lineman issues](https://github.com/exercism/exercism.io/search?q=lineman&type=Issues&utf8=%E2%9C%93) seems to yield a number of results claiming that it's broken/useless anyways and that exercism will be moving to something else soon, so I'm not stressing much about this one.\r\n- [x] Figure out how to run tests on the docker container. Currently this fails because the docker test db doesn't exist.\r\n- [ ] Figure out how to test the docker support so it doesn't rot. It might be possible to have travis do everything it's currently doing *and* run the tests via docker, for instance."},"comment":{"url":"https://api.github.com/repos/exercism/exercism.io/issues/comments/186946079","html_url":"https://github.com/exercism/exercism.io/pull/2760#issuecomment-186946079","issue_url":"https://api.github.com/repos/exercism/exercism.io/issues/2760","id":186946079,"user":{"login":"kytrinyx","id":276834,"avatar_url":"https://avatars.githubusercontent.com/u/276834?v=3","gravatar_id":"","url":"https://api.github.com/users/kytrinyx","html_url":"https://github.com/kytrinyx","followers_url":"https://api.github.com/users/kytrinyx/followers","following_url":"https://api.github.com/users/kytrinyx/following{/other_user}","gists_url":"https://api.github.com/users/kytrinyx/gists{/gist_id}","starred_url":"https://api.github.com/users/kytrinyx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kytrinyx/subscriptions","organizations_url":"https://api.github.com/users/kytrinyx/orgs","repos_url":"https://api.github.com/users/kytrinyx/repos","events_url":"https://api.github.com/users/kytrinyx/events{/privacy}","received_events_url":"https://api.github.com/users/kytrinyx/received_events","type":"User","site_admin":false},"created_at":"2016-02-21T23:49:02Z","updated_at":"2016-02-21T23:49:02Z","body":"Yeah, that was about redoing the front-end, but it's abandoned, as far as I can tell. It required figuring out the build stuff (heroku buildpack stuff). I think too much has happened since then to ever be able to merge it. I'll add a note to that effect in the PR and close it."}}