{"action":"created","comment":{"url":"https://api.github.com/repos/chaosdorf/dashpi/pulls/comments/220737319","pull_request_review_id":159215986,"id":220737319,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyMDczNzMxOQ==","diff_hunk":"@@ -1,26 +1,31 @@\n-# Use an official runtime as a parent image\n-FROM alpine:latest\n+FROM ruby:2.4-alpine as Builder\n+RUN apk --update add g++ make musl-dev\n \n-RUN apk --update add nodejs python2 ruby ruby-dev ruby-bundler openssl openssl-dev g++ musl-dev make tzdata\n+WORKDIR /app\n \n-# user\n-RUN addgroup -S app && adduser -S -h /app -G app app\n+COPY ./src/Gemfile ./src/Gemfile.lock  ./\n+RUN bundle config --global frozen 1 \\\n+ && bundle install --without development test -j4 --retry 3 \\\n+ # Remove unneeded files (cached *.gem, *.o, *.c)\n+ && rm -rf /usr/local/bundle/cache/*.gem \\\n+ && find /usr/local/bundle/gems/ -name \"*.c\" -delete \\\n+ && find /usr/local/bundle/gems/ -name \"*.o\" -delete\n+\n+COPY ./src/* ./\n \n-# Set the working directory to /app\n-WORKDIR /app\n \n-# Make port 3030 available to the world outside this container\n-EXPOSE 3030\n+FROM ruby:2.4-alpine\n+RUN apk --update add nodejs tzdata\n \n-# Copy the current directory contents into the container at /app\n-COPY . /app\n-RUN chown -R app:app /app\n-USER app\n+COPY --from=Builder /usr/local/bundle /usr/local/bundle\n+COPY --from=Builder /app /app\n \n-# Install dependencies\n-RUN bundle install --path vendor/bundle\n+ENV TRAFFIC_HOST feedback.chaosdorf.space\n+ENV MOSQUITTO_HOST mqttserver.chaosdorf.space\n+ENV PING_HOST speedtest-2.unitymedia.de\n+\n+WORKDIR /app\n \n-# Define environment variable\n-ENV RAILS_ENV production\n+ENTRYPOINT [\"bundle\", \"exec\", \"smashing\", \"start\"]","path":"Dockerfile","position":46,"original_position":46,"commit_id":"e505fc091583d871c1ac38b181d30e36ad491db5","original_commit_id":"e505fc091583d871c1ac38b181d30e36ad491db5","user":{"login":"msteinhoff","id":1652348,"node_id":"MDQ6VXNlcjE2NTIzNDg=","avatar_url":"https://avatars0.githubusercontent.com/u/1652348?v=4","gravatar_id":"","url":"https://api.github.com/users/msteinhoff","html_url":"https://github.com/msteinhoff","followers_url":"https://api.github.com/users/msteinhoff/followers","following_url":"https://api.github.com/users/msteinhoff/following{/other_user}","gists_url":"https://api.github.com/users/msteinhoff/gists{/gist_id}","starred_url":"https://api.github.com/users/msteinhoff/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/msteinhoff/subscriptions","organizations_url":"https://api.github.com/users/msteinhoff/orgs","repos_url":"https://api.github.com/users/msteinhoff/repos","events_url":"https://api.github.com/users/msteinhoff/events{/privacy}","received_events_url":"https://api.github.com/users/msteinhoff/received_events","type":"User","site_admin":false},"body":"macht in dem fall keinen unterschied.\r\n\r\ndas docker manual beschreibt den unterschied ganz gut: \r\nhttps://docs.docker.com/engine/reference/builder/#entrypoint\r\n\r\nman könnte den entrypoint auch auf `bundle exec smashing` und cmd auf `start` setzen, falls man verschiedene subcommands aufrufen können möchte. aber so wie ich das gesehen habe ist hier nur start sinnvoll, daher hab ich das alles in entrypoint gepackt.","created_at":"2018-09-26T22:00:35Z","updated_at":"2018-09-26T22:00:36Z","html_url":"https://github.com/chaosdorf/dashpi/pull/19#discussion_r220737319","pull_request_url":"https://api.github.com/repos/chaosdorf/dashpi/pulls/19","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/chaosdorf/dashpi/pulls/comments/220737319"},"html":{"href":"https://github.com/chaosdorf/dashpi/pull/19#discussion_r220737319"},"pull_request":{"href":"https://api.github.com/repos/chaosdorf/dashpi/pulls/19"}},"in_reply_to_id":220521153},"pull_request":{"url":"https://api.github.com/repos/chaosdorf/dashpi/pulls/19","id":211281752,"node_id":"MDExOlB1bGxSZXF1ZXN0MjExMjgxNzUy","html_url":"https://github.com/chaosdorf/dashpi/pull/19","diff_url":"https://github.com/chaosdorf/dashpi/pull/19.diff","patch_url":"https://github.com/chaosdorf/dashpi/pull/19.patch","issue_url":"https://api.github.com/repos/chaosdorf/dashpi/issues/19","number":19,"state":"open","locked":false,"title":"Docker Dinge","user":{"login":"msteinhoff","id":1652348,"node_id":"MDQ6VXNlcjE2NTIzNDg=","avatar_url":"https://avatars0.githubusercontent.com/u/1652348?v=4","gravatar_id":"","url":"https://api.github.com/users/msteinhoff","html_url":"https://github.com/msteinhoff","followers_url":"https://api.github.com/users/msteinhoff/followers","following_url":"https://api.github.com/users/msteinhoff/following{/other_user}","gists_url":"https://api.github.com/users/msteinhoff/gists{/gist_id}","starred_url":"https://api.github.com/users/msteinhoff/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/msteinhoff/subscriptions","organizations_url":"https://api.github.com/users/msteinhoff/orgs","repos_url":"https://api.github.com/users/msteinhoff/repos","events_url":"https://api.github.com/users/msteinhoff/events{/privacy}","received_events_url":"https://api.github.com/users/msteinhoff/received_events","type":"User","site_admin":false},"body":"Jo hab mal docker multi-stage build gebaut und das image kleiner gemacht und alles was man so konfigurierbar haben will in umgebungsvariablen oder secret files geschoben. Für die dev-umgebung ist noch ein compose file dabei.","created_at":"2018-08-28T02:17:37Z","updated_at":"2018-09-26T22:00:36Z","closed_at":null,"merged_at":null,"merge_commit_sha":"38b96244ff12fa4b4969fb989461bc1f7774826b","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/chaosdorf/dashpi/pulls/19/commits","review_comments_url":"https://api.github.com/repos/chaosdorf/dashpi/pulls/19/comments","review_comment_url":"https://api.github.com/repos/chaosdorf/dashpi/pulls/comments{/number}","comments_url":"https://api.github.com/repos/chaosdorf/dashpi/issues/19/comments","statuses_url":"https://api.github.com/repos/chaosdorf/dashpi/statuses/e505fc091583d871c1ac38b181d30e36ad491db5","head":{"label":"chaosdorf:feature/docker-improvements","ref":"feature/docker-improvements","sha":"e505fc091583d871c1ac38b181d30e36ad491db5","user":{"login":"chaosdorf","id":344644,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM0NDY0NA==","avatar_url":"https://avatars2.githubusercontent.com/u/344644?v=4","gravatar_id":"","url":"https://api.github.com/users/chaosdorf","html_url":"https://github.com/chaosdorf","followers_url":"https://api.github.com/users/chaosdorf/followers","following_url":"https://api.github.com/users/chaosdorf/following{/other_user}","gists_url":"https://api.github.com/users/chaosdorf/gists{/gist_id}","starred_url":"https://api.github.com/users/chaosdorf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chaosdorf/subscriptions","organizations_url":"https://api.github.com/users/chaosdorf/orgs","repos_url":"https://api.github.com/users/chaosdorf/repos","events_url":"https://api.github.com/users/chaosdorf/events{/privacy}","received_events_url":"https://api.github.com/users/chaosdorf/received_events","type":"Organization","site_admin":false},"repo":{"id":9107520,"node_id":"MDEwOlJlcG9zaXRvcnk5MTA3NTIw","name":"dashpi","full_name":"chaosdorf/dashpi","private":false,"owner":{"login":"chaosdorf","id":344644,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM0NDY0NA==","avatar_url":"https://avatars2.githubusercontent.com/u/344644?v=4","gravatar_id":"","url":"https://api.github.com/users/chaosdorf","html_url":"https://github.com/chaosdorf","followers_url":"https://api.github.com/users/chaosdorf/followers","following_url":"https://api.github.com/users/chaosdorf/following{/other_user}","gists_url":"https://api.github.com/users/chaosdorf/gists{/gist_id}","starred_url":"https://api.github.com/users/chaosdorf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chaosdorf/subscriptions","organizations_url":"https://api.github.com/users/chaosdorf/orgs","repos_url":"https://api.github.com/users/chaosdorf/repos","events_url":"https://api.github.com/users/chaosdorf/events{/privacy}","received_events_url":"https://api.github.com/users/chaosdorf/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/chaosdorf/dashpi","description":"Dashboard for Chaosdorf resources, realized with smashing","fork":false,"url":"https://api.github.com/repos/chaosdorf/dashpi","forks_url":"https://api.github.com/repos/chaosdorf/dashpi/forks","keys_url":"https://api.github.com/repos/chaosdorf/dashpi/keys{/key_id}","collaborators_url":"https://api.github.com/repos/chaosdorf/dashpi/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/chaosdorf/dashpi/teams","hooks_url":"https://api.github.com/repos/chaosdorf/dashpi/hooks","issue_events_url":"https://api.github.com/repos/chaosdorf/dashpi/issues/events{/number}","events_url":"https://api.github.com/repos/chaosdorf/dashpi/events","assignees_url":"https://api.github.com/repos/chaosdorf/dashpi/assignees{/user}","branches_url":"https://api.github.com/repos/chaosdorf/dashpi/branches{/branch}","tags_url":"https://api.github.com/repos/chaosdorf/dashpi/tags","blobs_url":"https://api.github.com/repos/chaosdorf/dashpi/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/chaosdorf/dashpi/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/chaosdorf/dashpi/git/refs{/sha}","trees_url":"https://api.github.com/repos/chaosdorf/dashpi/git/trees{/sha}","statuses_url":"https://api.github.com/repos/chaosdorf/dashpi/statuses/{sha}","languages_url":"https://api.github.com/repos/chaosdorf/dashpi/languages","stargazers_url":"https://api.github.com/repos/chaosdorf/dashpi/stargazers","contributors_url":"https://api.github.com/repos/chaosdorf/dashpi/contributors","subscribers_url":"https://api.github.com/repos/chaosdorf/dashpi/subscribers","subscription_url":"https://api.github.com/repos/chaosdorf/dashpi/subscription","commits_url":"https://api.github.com/repos/chaosdorf/dashpi/commits{/sha}","git_commits_url":"https://api.github.com/repos/chaosdorf/dashpi/git/commits{/sha}","comments_url":"https://api.github.com/repos/chaosdorf/dashpi/comments{/number}","issue_comment_url":"https://api.github.com/repos/chaosdorf/dashpi/issues/comments{/number}","contents_url":"https://api.github.com/repos/chaosdorf/dashpi/contents/{+path}","compare_url":"https://api.github.com/repos/chaosdorf/dashpi/compare/{base}...{head}","merges_url":"https://api.github.com/repos/chaosdorf/dashpi/merges","archive_url":"https://api.github.com/repos/chaosdorf/dashpi/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/chaosdorf/dashpi/downloads","issues_url":"https://api.github.com/repos/chaosdorf/dashpi/issues{/number}","pulls_url":"https://api.github.com/repos/chaosdorf/dashpi/pulls{/number}","milestones_url":"https://api.github.com/repos/chaosdorf/dashpi/milestones{/number}","notifications_url":"https://api.github.com/repos/chaosdorf/dashpi/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/chaosdorf/dashpi/labels{/name}","releases_url":"https://api.github.com/repos/chaosdorf/dashpi/releases{/id}","deployments_url":"https://api.github.com/repos/chaosdorf/dashpi/deployments","created_at":"2013-03-29T22:04:16Z","updated_at":"2018-09-26T19:17:08Z","pushed_at":"2018-09-26T19:17:06Z","git_url":"git://github.com/chaosdorf/dashpi.git","ssh_url":"git@github.com:chaosdorf/dashpi.git","clone_url":"https://github.com/chaosdorf/dashpi.git","svn_url":"https://github.com/chaosdorf/dashpi","homepage":"","size":523,"stargazers_count":3,"watchers_count":3,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":3,"mirror_url":null,"archived":false,"open_issues_count":4,"license":null,"forks":3,"open_issues":4,"watchers":3,"default_branch":"master"}},"base":{"label":"chaosdorf:master","ref":"master","sha":"1ba2912c6db2bf26a24156d359096e41f48030d3","user":{"login":"chaosdorf","id":344644,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM0NDY0NA==","avatar_url":"https://avatars2.githubusercontent.com/u/344644?v=4","gravatar_id":"","url":"https://api.github.com/users/chaosdorf","html_url":"https://github.com/chaosdorf","followers_url":"https://api.github.com/users/chaosdorf/followers","following_url":"https://api.github.com/users/chaosdorf/following{/other_user}","gists_url":"https://api.github.com/users/chaosdorf/gists{/gist_id}","starred_url":"https://api.github.com/users/chaosdorf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chaosdorf/subscriptions","organizations_url":"https://api.github.com/users/chaosdorf/orgs","repos_url":"https://api.github.com/users/chaosdorf/repos","events_url":"https://api.github.com/users/chaosdorf/events{/privacy}","received_events_url":"https://api.github.com/users/chaosdorf/received_events","type":"Organization","site_admin":false},"repo":{"id":9107520,"node_id":"MDEwOlJlcG9zaXRvcnk5MTA3NTIw","name":"dashpi","full_name":"chaosdorf/dashpi","private":false,"owner":{"login":"chaosdorf","id":344644,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM0NDY0NA==","avatar_url":"https://avatars2.githubusercontent.com/u/344644?v=4","gravatar_id":"","url":"https://api.github.com/users/chaosdorf","html_url":"https://github.com/chaosdorf","followers_url":"https://api.github.com/users/chaosdorf/followers","following_url":"https://api.github.com/users/chaosdorf/following{/other_user}","gists_url":"https://api.github.com/users/chaosdorf/gists{/gist_id}","starred_url":"https://api.github.com/users/chaosdorf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chaosdorf/subscriptions","organizations_url":"https://api.github.com/users/chaosdorf/orgs","repos_url":"https://api.github.com/users/chaosdorf/repos","events_url":"https://api.github.com/users/chaosdorf/events{/privacy}","received_events_url":"https://api.github.com/users/chaosdorf/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/chaosdorf/dashpi","description":"Dashboard for Chaosdorf resources, realized with smashing","fork":false,"url":"https://api.github.com/repos/chaosdorf/dashpi","forks_url":"https://api.github.com/repos/chaosdorf/dashpi/forks","keys_url":"https://api.github.com/repos/chaosdorf/dashpi/keys{/key_id}","collaborators_url":"https://api.github.com/repos/chaosdorf/dashpi/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/chaosdorf/dashpi/teams","hooks_url":"https://api.github.com/repos/chaosdorf/dashpi/hooks","issue_events_url":"https://api.github.com/repos/chaosdorf/dashpi/issues/events{/number}","events_url":"https://api.github.com/repos/chaosdorf/dashpi/events","assignees_url":"https://api.github.com/repos/chaosdorf/dashpi/assignees{/user}","branches_url":"https://api.github.com/repos/chaosdorf/dashpi/branches{/branch}","tags_url":"https://api.github.com/repos/chaosdorf/dashpi/tags","blobs_url":"https://api.github.com/repos/chaosdorf/dashpi/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/chaosdorf/dashpi/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/chaosdorf/dashpi/git/refs{/sha}","trees_url":"https://api.github.com/repos/chaosdorf/dashpi/git/trees{/sha}","statuses_url":"https://api.github.com/repos/chaosdorf/dashpi/statuses/{sha}","languages_url":"https://api.github.com/repos/chaosdorf/dashpi/languages","stargazers_url":"https://api.github.com/repos/chaosdorf/dashpi/stargazers","contributors_url":"https://api.github.com/repos/chaosdorf/dashpi/contributors","subscribers_url":"https://api.github.com/repos/chaosdorf/dashpi/subscribers","subscription_url":"https://api.github.com/repos/chaosdorf/dashpi/subscription","commits_url":"https://api.github.com/repos/chaosdorf/dashpi/commits{/sha}","git_commits_url":"https://api.github.com/repos/chaosdorf/dashpi/git/commits{/sha}","comments_url":"https://api.github.com/repos/chaosdorf/dashpi/comments{/number}","issue_comment_url":"https://api.github.com/repos/chaosdorf/dashpi/issues/comments{/number}","contents_url":"https://api.github.com/repos/chaosdorf/dashpi/contents/{+path}","compare_url":"https://api.github.com/repos/chaosdorf/dashpi/compare/{base}...{head}","merges_url":"https://api.github.com/repos/chaosdorf/dashpi/merges","archive_url":"https://api.github.com/repos/chaosdorf/dashpi/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/chaosdorf/dashpi/downloads","issues_url":"https://api.github.com/repos/chaosdorf/dashpi/issues{/number}","pulls_url":"https://api.github.com/repos/chaosdorf/dashpi/pulls{/number}","milestones_url":"https://api.github.com/repos/chaosdorf/dashpi/milestones{/number}","notifications_url":"https://api.github.com/repos/chaosdorf/dashpi/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/chaosdorf/dashpi/labels{/name}","releases_url":"https://api.github.com/repos/chaosdorf/dashpi/releases{/id}","deployments_url":"https://api.github.com/repos/chaosdorf/dashpi/deployments","created_at":"2013-03-29T22:04:16Z","updated_at":"2018-09-26T19:17:08Z","pushed_at":"2018-09-26T19:17:06Z","git_url":"git://github.com/chaosdorf/dashpi.git","ssh_url":"git@github.com:chaosdorf/dashpi.git","clone_url":"https://github.com/chaosdorf/dashpi.git","svn_url":"https://github.com/chaosdorf/dashpi","homepage":"","size":523,"stargazers_count":3,"watchers_count":3,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":3,"mirror_url":null,"archived":false,"open_issues_count":4,"license":null,"forks":3,"open_issues":4,"watchers":3,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/chaosdorf/dashpi/pulls/19"},"html":{"href":"https://github.com/chaosdorf/dashpi/pull/19"},"issue":{"href":"https://api.github.com/repos/chaosdorf/dashpi/issues/19"},"comments":{"href":"https://api.github.com/repos/chaosdorf/dashpi/issues/19/comments"},"review_comments":{"href":"https://api.github.com/repos/chaosdorf/dashpi/pulls/19/comments"},"review_comment":{"href":"https://api.github.com/repos/chaosdorf/dashpi/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/chaosdorf/dashpi/pulls/19/commits"},"statuses":{"href":"https://api.github.com/repos/chaosdorf/dashpi/statuses/e505fc091583d871c1ac38b181d30e36ad491db5"}},"author_association":"NONE"}}
{"actor":{"display_login":"msteinhoff"}}