{"action":"created","comment":{"url":"https://api.github.com/repos/jmathai/elodie/pulls/comments/54673348","id":54673348,"diff_hunk":"@@ -0,0 +1,25 @@\n+FROM gliderlabs/alpine\n+\n+COPY requirements.txt /opt/elodie/requirements.txt\n+COPY docs/requirements.txt /opt/elodie/docs/requirements.txt\n+COPY elodie/tests/requirements.txt /opt/elodie/elodie/tests/requirements.txt\n+WORKDIR /opt/elodie\n+\n+RUN apk add --update boost-python ca-certificates exiftool exiv2 make python py-pip && \\","path":"Dockerfile","position":8,"original_position":8,"commit_id":"a2e3168203cf0cacccbe51a7ee41b91b59c10fed","original_commit_id":"a2e3168203cf0cacccbe51a7ee41b91b59c10fed","user":{"login":"noonat","id":2610,"avatar_url":"https://avatars.githubusercontent.com/u/2610?v=3","gravatar_id":"","url":"https://api.github.com/users/noonat","html_url":"https://github.com/noonat","followers_url":"https://api.github.com/users/noonat/followers","following_url":"https://api.github.com/users/noonat/following{/other_user}","gists_url":"https://api.github.com/users/noonat/gists{/gist_id}","starred_url":"https://api.github.com/users/noonat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/noonat/subscriptions","organizations_url":"https://api.github.com/users/noonat/orgs","repos_url":"https://api.github.com/users/noonat/repos","events_url":"https://api.github.com/users/noonat/events{/privacy}","received_events_url":"https://api.github.com/users/noonat/received_events","type":"User","site_admin":false},"body":"The main reason I did things this way is because there are (or were, at the time that I wrote this) dependencies that were required for compilation, but only for compilation. Splitting up the step of installing those dependencies would inflate the size of the resulting image, when they were only needed temporarily for building that dependency.\r\n\r\nI could see splitting out the other dependencies, though, into a separate statement.","created_at":"2016-03-02T02:57:21Z","updated_at":"2016-03-02T02:57:21Z","html_url":"https://github.com/jmathai/elodie/pull/73#discussion_r54673348","pull_request_url":"https://api.github.com/repos/jmathai/elodie/pulls/73","_links":{"self":{"href":"https://api.github.com/repos/jmathai/elodie/pulls/comments/54673348"},"html":{"href":"https://github.com/jmathai/elodie/pull/73#discussion_r54673348"},"pull_request":{"href":"https://api.github.com/repos/jmathai/elodie/pulls/73"}}},"pull_request":{"url":"https://api.github.com/repos/jmathai/elodie/pulls/73","id":55571802,"html_url":"https://github.com/jmathai/elodie/pull/73","diff_url":"https://github.com/jmathai/elodie/pull/73.diff","patch_url":"https://github.com/jmathai/elodie/pull/73.patch","issue_url":"https://api.github.com/repos/jmathai/elodie/issues/73","number":73,"state":"open","locked":false,"title":"Added a Dockerfile","user":{"login":"noonat","id":2610,"avatar_url":"https://avatars.githubusercontent.com/u/2610?v=3","gravatar_id":"","url":"https://api.github.com/users/noonat","html_url":"https://github.com/noonat","followers_url":"https://api.github.com/users/noonat/followers","following_url":"https://api.github.com/users/noonat/following{/other_user}","gists_url":"https://api.github.com/users/noonat/gists{/gist_id}","starred_url":"https://api.github.com/users/noonat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/noonat/subscriptions","organizations_url":"https://api.github.com/users/noonat/orgs","repos_url":"https://api.github.com/users/noonat/repos","events_url":"https://api.github.com/users/noonat/events{/privacy}","received_events_url":"https://api.github.com/users/noonat/received_events","type":"User","site_admin":false},"body":"This pull adds a Dockerfile to give a more consistent way to build and test Elodie in different environments. The Dockerfile uses alpine as a base to make it smaller. This does mean, unfortunately, that it needs to build pyexiv2 from source, but it builds very quickly, so it's not too bad.\r\n\r\nYou could build an image and run tests in a container like so:\r\n\r\n    docker build --rm -t elodie .\r\n    docker run -it --rm -v $HOME/.elodie:/root/.elodie elodie nosetests -w elodie/tests\r\n\r\nTo run Elodie itself, you could do something like:\r\n\r\n    $ docker run -it --rm elodie ./elodie.py --help","created_at":"2016-01-10T19:13:26Z","updated_at":"2016-03-02T02:57:21Z","closed_at":null,"merged_at":null,"merge_commit_sha":"9d1a890a8eabf534a2c30c330b29067383356d33","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/jmathai/elodie/pulls/73/commits","review_comments_url":"https://api.github.com/repos/jmathai/elodie/pulls/73/comments","review_comment_url":"https://api.github.com/repos/jmathai/elodie/pulls/comments{/number}","comments_url":"https://api.github.com/repos/jmathai/elodie/issues/73/comments","statuses_url":"https://api.github.com/repos/jmathai/elodie/statuses/a2e3168203cf0cacccbe51a7ee41b91b59c10fed","head":{"label":"noonat:dockerfile","ref":"dockerfile","sha":"a2e3168203cf0cacccbe51a7ee41b91b59c10fed","user":{"login":"noonat","id":2610,"avatar_url":"https://avatars.githubusercontent.com/u/2610?v=3","gravatar_id":"","url":"https://api.github.com/users/noonat","html_url":"https://github.com/noonat","followers_url":"https://api.github.com/users/noonat/followers","following_url":"https://api.github.com/users/noonat/following{/other_user}","gists_url":"https://api.github.com/users/noonat/gists{/gist_id}","starred_url":"https://api.github.com/users/noonat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/noonat/subscriptions","organizations_url":"https://api.github.com/users/noonat/orgs","repos_url":"https://api.github.com/users/noonat/repos","events_url":"https://api.github.com/users/noonat/events{/privacy}","received_events_url":"https://api.github.com/users/noonat/received_events","type":"User","site_admin":false},"repo":{"id":49114478,"name":"elodie","full_name":"noonat/elodie","owner":{"login":"noonat","id":2610,"avatar_url":"https://avatars.githubusercontent.com/u/2610?v=3","gravatar_id":"","url":"https://api.github.com/users/noonat","html_url":"https://github.com/noonat","followers_url":"https://api.github.com/users/noonat/followers","following_url":"https://api.github.com/users/noonat/following{/other_user}","gists_url":"https://api.github.com/users/noonat/gists{/gist_id}","starred_url":"https://api.github.com/users/noonat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/noonat/subscriptions","organizations_url":"https://api.github.com/users/noonat/orgs","repos_url":"https://api.github.com/users/noonat/repos","events_url":"https://api.github.com/users/noonat/events{/privacy}","received_events_url":"https://api.github.com/users/noonat/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/noonat/elodie","description":"An EXIF-based photo, video and audio workflow automation tool","fork":true,"url":"https://api.github.com/repos/noonat/elodie","forks_url":"https://api.github.com/repos/noonat/elodie/forks","keys_url":"https://api.github.com/repos/noonat/elodie/keys{/key_id}","collaborators_url":"https://api.github.com/repos/noonat/elodie/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/noonat/elodie/teams","hooks_url":"https://api.github.com/repos/noonat/elodie/hooks","issue_events_url":"https://api.github.com/repos/noonat/elodie/issues/events{/number}","events_url":"https://api.github.com/repos/noonat/elodie/events","assignees_url":"https://api.github.com/repos/noonat/elodie/assignees{/user}","branches_url":"https://api.github.com/repos/noonat/elodie/branches{/branch}","tags_url":"https://api.github.com/repos/noonat/elodie/tags","blobs_url":"https://api.github.com/repos/noonat/elodie/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/noonat/elodie/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/noonat/elodie/git/refs{/sha}","trees_url":"https://api.github.com/repos/noonat/elodie/git/trees{/sha}","statuses_url":"https://api.github.com/repos/noonat/elodie/statuses/{sha}","languages_url":"https://api.github.com/repos/noonat/elodie/languages","stargazers_url":"https://api.github.com/repos/noonat/elodie/stargazers","contributors_url":"https://api.github.com/repos/noonat/elodie/contributors","subscribers_url":"https://api.github.com/repos/noonat/elodie/subscribers","subscription_url":"https://api.github.com/repos/noonat/elodie/subscription","commits_url":"https://api.github.com/repos/noonat/elodie/commits{/sha}","git_commits_url":"https://api.github.com/repos/noonat/elodie/git/commits{/sha}","comments_url":"https://api.github.com/repos/noonat/elodie/comments{/number}","issue_comment_url":"https://api.github.com/repos/noonat/elodie/issues/comments{/number}","contents_url":"https://api.github.com/repos/noonat/elodie/contents/{+path}","compare_url":"https://api.github.com/repos/noonat/elodie/compare/{base}...{head}","merges_url":"https://api.github.com/repos/noonat/elodie/merges","archive_url":"https://api.github.com/repos/noonat/elodie/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/noonat/elodie/downloads","issues_url":"https://api.github.com/repos/noonat/elodie/issues{/number}","pulls_url":"https://api.github.com/repos/noonat/elodie/pulls{/number}","milestones_url":"https://api.github.com/repos/noonat/elodie/milestones{/number}","notifications_url":"https://api.github.com/repos/noonat/elodie/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/noonat/elodie/labels{/name}","releases_url":"https://api.github.com/repos/noonat/elodie/releases{/id}","deployments_url":"https://api.github.com/repos/noonat/elodie/deployments","created_at":"2016-01-06T05:25:49Z","updated_at":"2016-01-13T19:02:44Z","pushed_at":"2016-01-19T20:23:30Z","git_url":"git://github.com/noonat/elodie.git","ssh_url":"git@github.com:noonat/elodie.git","clone_url":"https://github.com/noonat/elodie.git","svn_url":"https://github.com/noonat/elodie","homepage":"https://bit.ly/introducing-elodie","size":3424,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"jmathai:master","ref":"master","sha":"8352bd5f48775aa7788e53489dd177f78f3acbd5","user":{"login":"jmathai","id":6384,"avatar_url":"https://avatars.githubusercontent.com/u/6384?v=3","gravatar_id":"","url":"https://api.github.com/users/jmathai","html_url":"https://github.com/jmathai","followers_url":"https://api.github.com/users/jmathai/followers","following_url":"https://api.github.com/users/jmathai/following{/other_user}","gists_url":"https://api.github.com/users/jmathai/gists{/gist_id}","starred_url":"https://api.github.com/users/jmathai/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jmathai/subscriptions","organizations_url":"https://api.github.com/users/jmathai/orgs","repos_url":"https://api.github.com/users/jmathai/repos","events_url":"https://api.github.com/users/jmathai/events{/privacy}","received_events_url":"https://api.github.com/users/jmathai/received_events","type":"User","site_admin":false},"repo":{"id":42206855,"name":"elodie","full_name":"jmathai/elodie","owner":{"login":"jmathai","id":6384,"avatar_url":"https://avatars.githubusercontent.com/u/6384?v=3","gravatar_id":"","url":"https://api.github.com/users/jmathai","html_url":"https://github.com/jmathai","followers_url":"https://api.github.com/users/jmathai/followers","following_url":"https://api.github.com/users/jmathai/following{/other_user}","gists_url":"https://api.github.com/users/jmathai/gists{/gist_id}","starred_url":"https://api.github.com/users/jmathai/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jmathai/subscriptions","organizations_url":"https://api.github.com/users/jmathai/orgs","repos_url":"https://api.github.com/users/jmathai/repos","events_url":"https://api.github.com/users/jmathai/events{/privacy}","received_events_url":"https://api.github.com/users/jmathai/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jmathai/elodie","description":"An EXIF-based photo, video and audio workflow automation tool","fork":false,"url":"https://api.github.com/repos/jmathai/elodie","forks_url":"https://api.github.com/repos/jmathai/elodie/forks","keys_url":"https://api.github.com/repos/jmathai/elodie/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jmathai/elodie/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jmathai/elodie/teams","hooks_url":"https://api.github.com/repos/jmathai/elodie/hooks","issue_events_url":"https://api.github.com/repos/jmathai/elodie/issues/events{/number}","events_url":"https://api.github.com/repos/jmathai/elodie/events","assignees_url":"https://api.github.com/repos/jmathai/elodie/assignees{/user}","branches_url":"https://api.github.com/repos/jmathai/elodie/branches{/branch}","tags_url":"https://api.github.com/repos/jmathai/elodie/tags","blobs_url":"https://api.github.com/repos/jmathai/elodie/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jmathai/elodie/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jmathai/elodie/git/refs{/sha}","trees_url":"https://api.github.com/repos/jmathai/elodie/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jmathai/elodie/statuses/{sha}","languages_url":"https://api.github.com/repos/jmathai/elodie/languages","stargazers_url":"https://api.github.com/repos/jmathai/elodie/stargazers","contributors_url":"https://api.github.com/repos/jmathai/elodie/contributors","subscribers_url":"https://api.github.com/repos/jmathai/elodie/subscribers","subscription_url":"https://api.github.com/repos/jmathai/elodie/subscription","commits_url":"https://api.github.com/repos/jmathai/elodie/commits{/sha}","git_commits_url":"https://api.github.com/repos/jmathai/elodie/git/commits{/sha}","comments_url":"https://api.github.com/repos/jmathai/elodie/comments{/number}","issue_comment_url":"https://api.github.com/repos/jmathai/elodie/issues/comments{/number}","contents_url":"https://api.github.com/repos/jmathai/elodie/contents/{+path}","compare_url":"https://api.github.com/repos/jmathai/elodie/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jmathai/elodie/merges","archive_url":"https://api.github.com/repos/jmathai/elodie/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jmathai/elodie/downloads","issues_url":"https://api.github.com/repos/jmathai/elodie/issues{/number}","pulls_url":"https://api.github.com/repos/jmathai/elodie/pulls{/number}","milestones_url":"https://api.github.com/repos/jmathai/elodie/milestones{/number}","notifications_url":"https://api.github.com/repos/jmathai/elodie/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jmathai/elodie/labels{/name}","releases_url":"https://api.github.com/repos/jmathai/elodie/releases{/id}","deployments_url":"https://api.github.com/repos/jmathai/elodie/deployments","created_at":"2015-09-09T21:53:43Z","updated_at":"2016-02-19T00:08:32Z","pushed_at":"2016-02-19T17:41:33Z","git_url":"git://github.com/jmathai/elodie.git","ssh_url":"git@github.com:jmathai/elodie.git","clone_url":"https://github.com/jmathai/elodie.git","svn_url":"https://github.com/jmathai/elodie","homepage":"https://bit.ly/introducing-elodie","size":3457,"stargazers_count":191,"watchers_count":191,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":21,"mirror_url":null,"open_issues_count":22,"forks":21,"open_issues":22,"watchers":191,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/jmathai/elodie/pulls/73"},"html":{"href":"https://github.com/jmathai/elodie/pull/73"},"issue":{"href":"https://api.github.com/repos/jmathai/elodie/issues/73"},"comments":{"href":"https://api.github.com/repos/jmathai/elodie/issues/73/comments"},"review_comments":{"href":"https://api.github.com/repos/jmathai/elodie/pulls/73/comments"},"review_comment":{"href":"https://api.github.com/repos/jmathai/elodie/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/jmathai/elodie/pulls/73/commits"},"statuses":{"href":"https://api.github.com/repos/jmathai/elodie/statuses/a2e3168203cf0cacccbe51a7ee41b91b59c10fed"}}}}