{"action":"created","comment":{"url":"https://api.github.com/repos/hackforla/heart/pulls/comments/240899596","pull_request_review_id":184033990,"id":240899596,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0MDg5OTU5Ng==","diff_hunk":"@@ -0,0 +1,95 @@\n+# Docker Postgres Setup\n+\n+Basic dockerized `postgres` and `pgadmin` services with room to grow.\n+\n+Requires [Docker](https://www.docker.com/products/docker-desktop) and Docker Compose (comes with a standard Docker Desktop installation for Mac and Windows.)\n+\n+## Running Locally\n+\n+From your favorite Command Line Interface (e.g. `bash` or `powershell`), enter the command:\n+\n+```bash\n+docker-compose up\n+```\n+\n+This downloads and builds the base Docker images (if needed), and starts both services.\n+\n+`pgadmin` can now be accessed from http://localhost:8080.\n+\n+The `postgres` service exposes the standard PostgreSQL port `5432`.\n+\n+Alternatively (e.g. if one service or another is already started):\n+\n+```bash\n+docker-compose up [SERVICE]\n+```\n+\n+Where `[SERVICE]` is `postgres` or `pgadmin`.\n+\n+To shut everything down:\n+\n+```bash\n+docker-compose down","path":"spikes/docker-postgres/README.md","position":null,"original_position":32,"commit_id":"5f7599f0e4cde577af0a8c8f340c27b792be56e1","original_commit_id":"e18ca381686801de96b9ebd1f4805ab4670c46a0","user":{"login":"thekaveman","id":1783439,"node_id":"MDQ6VXNlcjE3ODM0Mzk=","avatar_url":"https://avatars1.githubusercontent.com/u/1783439?v=4","gravatar_id":"","url":"https://api.github.com/users/thekaveman","html_url":"https://github.com/thekaveman","followers_url":"https://api.github.com/users/thekaveman/followers","following_url":"https://api.github.com/users/thekaveman/following{/other_user}","gists_url":"https://api.github.com/users/thekaveman/gists{/gist_id}","starred_url":"https://api.github.com/users/thekaveman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thekaveman/subscriptions","organizations_url":"https://api.github.com/users/thekaveman/orgs","repos_url":"https://api.github.com/users/thekaveman/repos","events_url":"https://api.github.com/users/thekaveman/events{/privacy}","received_events_url":"https://api.github.com/users/thekaveman/received_events","type":"User","site_admin":false},"body":"Great point @tienyuan, thanks for catching this. Updates made, calling out specifically the destructive nature of `docker-compose down`. ","created_at":"2018-12-12T06:59:39Z","updated_at":"2018-12-12T06:59:39Z","html_url":"https://github.com/hackforla/heart/pull/20#discussion_r240899596","pull_request_url":"https://api.github.com/repos/hackforla/heart/pulls/20","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/hackforla/heart/pulls/comments/240899596"},"html":{"href":"https://github.com/hackforla/heart/pull/20#discussion_r240899596"},"pull_request":{"href":"https://api.github.com/repos/hackforla/heart/pulls/20"}},"in_reply_to_id":240879244},"pull_request":{"url":"https://api.github.com/repos/hackforla/heart/pulls/20","id":237799056,"node_id":"MDExOlB1bGxSZXF1ZXN0MjM3Nzk5MDU2","html_url":"https://github.com/hackforla/heart/pull/20","diff_url":"https://github.com/hackforla/heart/pull/20.diff","patch_url":"https://github.com/hackforla/heart/pull/20.patch","issue_url":"https://api.github.com/repos/hackforla/heart/issues/20","number":20,"state":"open","locked":false,"title":"Dockerized postgres/pgadmin","user":{"login":"thekaveman","id":1783439,"node_id":"MDQ6VXNlcjE3ODM0Mzk=","avatar_url":"https://avatars1.githubusercontent.com/u/1783439?v=4","gravatar_id":"","url":"https://api.github.com/users/thekaveman","html_url":"https://github.com/thekaveman","followers_url":"https://api.github.com/users/thekaveman/followers","following_url":"https://api.github.com/users/thekaveman/following{/other_user}","gists_url":"https://api.github.com/users/thekaveman/gists{/gist_id}","starred_url":"https://api.github.com/users/thekaveman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thekaveman/subscriptions","organizations_url":"https://api.github.com/users/thekaveman/orgs","repos_url":"https://api.github.com/users/thekaveman/repos","events_url":"https://api.github.com/users/thekaveman/events{/privacy}","received_events_url":"https://api.github.com/users/thekaveman/received_events","type":"User","site_admin":false},"body":"Here's a proposal for a simple setup for #9, implemented in `spikes/` since I haven't been part of the repo/project layout discussions. Easy enough to move around.\r\n\r\nI opted for two separate Docker containers (one for the PostgreSQL server, one for pgAdmin client) since it makes things a little more reusable/portable.\r\n\r\nNothing special going on here, pretty much straight defaults. But there's plenty of ability to extend - like setting up default databases on container startup, local persistence, etc.\r\n\r\nI set this up on Windows 10 with:\r\n\r\n```bash\r\n$ docker --version\r\nDocker version 18.06.1-ce, build e68fc7a\r\n\r\n$ docker-compose --version\r\ndocker-compose version 1.22.0, build f46880fe\r\n```","created_at":"2018-12-11T19:25:39Z","updated_at":"2018-12-12T06:59:39Z","closed_at":null,"merged_at":null,"merge_commit_sha":"78592138ac70dcb8a302331b5f46d53c0b7ad66d","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/hackforla/heart/pulls/20/commits","review_comments_url":"https://api.github.com/repos/hackforla/heart/pulls/20/comments","review_comment_url":"https://api.github.com/repos/hackforla/heart/pulls/comments{/number}","comments_url":"https://api.github.com/repos/hackforla/heart/issues/20/comments","statuses_url":"https://api.github.com/repos/hackforla/heart/statuses/5f7599f0e4cde577af0a8c8f340c27b792be56e1","head":{"label":"hackforla:docker-postgres","ref":"docker-postgres","sha":"5f7599f0e4cde577af0a8c8f340c27b792be56e1","user":{"login":"hackforla","id":11635254,"node_id":"MDEyOk9yZ2FuaXphdGlvbjExNjM1MjU0","avatar_url":"https://avatars3.githubusercontent.com/u/11635254?v=4","gravatar_id":"","url":"https://api.github.com/users/hackforla","html_url":"https://github.com/hackforla","followers_url":"https://api.github.com/users/hackforla/followers","following_url":"https://api.github.com/users/hackforla/following{/other_user}","gists_url":"https://api.github.com/users/hackforla/gists{/gist_id}","starred_url":"https://api.github.com/users/hackforla/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hackforla/subscriptions","organizations_url":"https://api.github.com/users/hackforla/orgs","repos_url":"https://api.github.com/users/hackforla/repos","events_url":"https://api.github.com/users/hackforla/events{/privacy}","received_events_url":"https://api.github.com/users/hackforla/received_events","type":"Organization","site_admin":false},"repo":{"id":159286729,"node_id":"MDEwOlJlcG9zaXRvcnkxNTkyODY3Mjk=","name":"heart","full_name":"hackforla/heart","private":false,"owner":{"login":"hackforla","id":11635254,"node_id":"MDEyOk9yZ2FuaXphdGlvbjExNjM1MjU0","avatar_url":"https://avatars3.githubusercontent.com/u/11635254?v=4","gravatar_id":"","url":"https://api.github.com/users/hackforla","html_url":"https://github.com/hackforla","followers_url":"https://api.github.com/users/hackforla/followers","following_url":"https://api.github.com/users/hackforla/following{/other_user}","gists_url":"https://api.github.com/users/hackforla/gists{/gist_id}","starred_url":"https://api.github.com/users/hackforla/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hackforla/subscriptions","organizations_url":"https://api.github.com/users/hackforla/orgs","repos_url":"https://api.github.com/users/hackforla/repos","events_url":"https://api.github.com/users/hackforla/events{/privacy}","received_events_url":"https://api.github.com/users/hackforla/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/hackforla/heart","description":null,"fork":false,"url":"https://api.github.com/repos/hackforla/heart","forks_url":"https://api.github.com/repos/hackforla/heart/forks","keys_url":"https://api.github.com/repos/hackforla/heart/keys{/key_id}","collaborators_url":"https://api.github.com/repos/hackforla/heart/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/hackforla/heart/teams","hooks_url":"https://api.github.com/repos/hackforla/heart/hooks","issue_events_url":"https://api.github.com/repos/hackforla/heart/issues/events{/number}","events_url":"https://api.github.com/repos/hackforla/heart/events","assignees_url":"https://api.github.com/repos/hackforla/heart/assignees{/user}","branches_url":"https://api.github.com/repos/hackforla/heart/branches{/branch}","tags_url":"https://api.github.com/repos/hackforla/heart/tags","blobs_url":"https://api.github.com/repos/hackforla/heart/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/hackforla/heart/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/hackforla/heart/git/refs{/sha}","trees_url":"https://api.github.com/repos/hackforla/heart/git/trees{/sha}","statuses_url":"https://api.github.com/repos/hackforla/heart/statuses/{sha}","languages_url":"https://api.github.com/repos/hackforla/heart/languages","stargazers_url":"https://api.github.com/repos/hackforla/heart/stargazers","contributors_url":"https://api.github.com/repos/hackforla/heart/contributors","subscribers_url":"https://api.github.com/repos/hackforla/heart/subscribers","subscription_url":"https://api.github.com/repos/hackforla/heart/subscription","commits_url":"https://api.github.com/repos/hackforla/heart/commits{/sha}","git_commits_url":"https://api.github.com/repos/hackforla/heart/git/commits{/sha}","comments_url":"https://api.github.com/repos/hackforla/heart/comments{/number}","issue_comment_url":"https://api.github.com/repos/hackforla/heart/issues/comments{/number}","contents_url":"https://api.github.com/repos/hackforla/heart/contents/{+path}","compare_url":"https://api.github.com/repos/hackforla/heart/compare/{base}...{head}","merges_url":"https://api.github.com/repos/hackforla/heart/merges","archive_url":"https://api.github.com/repos/hackforla/heart/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/hackforla/heart/downloads","issues_url":"https://api.github.com/repos/hackforla/heart/issues{/number}","pulls_url":"https://api.github.com/repos/hackforla/heart/pulls{/number}","milestones_url":"https://api.github.com/repos/hackforla/heart/milestones{/number}","notifications_url":"https://api.github.com/repos/hackforla/heart/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/hackforla/heart/labels{/name}","releases_url":"https://api.github.com/repos/hackforla/heart/releases{/id}","deployments_url":"https://api.github.com/repos/hackforla/heart/deployments","created_at":"2018-11-27T06:26:31Z","updated_at":"2018-12-11T04:18:25Z","pushed_at":"2018-12-12T06:58:31Z","git_url":"git://github.com/hackforla/heart.git","ssh_url":"git@github.com:hackforla/heart.git","clone_url":"https://github.com/hackforla/heart.git","svn_url":"https://github.com/hackforla/heart","homepage":null,"size":1186,"stargazers_count":1,"watchers_count":1,"language":"HTML","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":16,"license":null,"forks":0,"open_issues":16,"watchers":1,"default_branch":"master"}},"base":{"label":"hackforla:master","ref":"master","sha":"383312656258e1178318703b1c43f51411b5cee2","user":{"login":"hackforla","id":11635254,"node_id":"MDEyOk9yZ2FuaXphdGlvbjExNjM1MjU0","avatar_url":"https://avatars3.githubusercontent.com/u/11635254?v=4","gravatar_id":"","url":"https://api.github.com/users/hackforla","html_url":"https://github.com/hackforla","followers_url":"https://api.github.com/users/hackforla/followers","following_url":"https://api.github.com/users/hackforla/following{/other_user}","gists_url":"https://api.github.com/users/hackforla/gists{/gist_id}","starred_url":"https://api.github.com/users/hackforla/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hackforla/subscriptions","organizations_url":"https://api.github.com/users/hackforla/orgs","repos_url":"https://api.github.com/users/hackforla/repos","events_url":"https://api.github.com/users/hackforla/events{/privacy}","received_events_url":"https://api.github.com/users/hackforla/received_events","type":"Organization","site_admin":false},"repo":{"id":159286729,"node_id":"MDEwOlJlcG9zaXRvcnkxNTkyODY3Mjk=","name":"heart","full_name":"hackforla/heart","private":false,"owner":{"login":"hackforla","id":11635254,"node_id":"MDEyOk9yZ2FuaXphdGlvbjExNjM1MjU0","avatar_url":"https://avatars3.githubusercontent.com/u/11635254?v=4","gravatar_id":"","url":"https://api.github.com/users/hackforla","html_url":"https://github.com/hackforla","followers_url":"https://api.github.com/users/hackforla/followers","following_url":"https://api.github.com/users/hackforla/following{/other_user}","gists_url":"https://api.github.com/users/hackforla/gists{/gist_id}","starred_url":"https://api.github.com/users/hackforla/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hackforla/subscriptions","organizations_url":"https://api.github.com/users/hackforla/orgs","repos_url":"https://api.github.com/users/hackforla/repos","events_url":"https://api.github.com/users/hackforla/events{/privacy}","received_events_url":"https://api.github.com/users/hackforla/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/hackforla/heart","description":null,"fork":false,"url":"https://api.github.com/repos/hackforla/heart","forks_url":"https://api.github.com/repos/hackforla/heart/forks","keys_url":"https://api.github.com/repos/hackforla/heart/keys{/key_id}","collaborators_url":"https://api.github.com/repos/hackforla/heart/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/hackforla/heart/teams","hooks_url":"https://api.github.com/repos/hackforla/heart/hooks","issue_events_url":"https://api.github.com/repos/hackforla/heart/issues/events{/number}","events_url":"https://api.github.com/repos/hackforla/heart/events","assignees_url":"https://api.github.com/repos/hackforla/heart/assignees{/user}","branches_url":"https://api.github.com/repos/hackforla/heart/branches{/branch}","tags_url":"https://api.github.com/repos/hackforla/heart/tags","blobs_url":"https://api.github.com/repos/hackforla/heart/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/hackforla/heart/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/hackforla/heart/git/refs{/sha}","trees_url":"https://api.github.com/repos/hackforla/heart/git/trees{/sha}","statuses_url":"https://api.github.com/repos/hackforla/heart/statuses/{sha}","languages_url":"https://api.github.com/repos/hackforla/heart/languages","stargazers_url":"https://api.github.com/repos/hackforla/heart/stargazers","contributors_url":"https://api.github.com/repos/hackforla/heart/contributors","subscribers_url":"https://api.github.com/repos/hackforla/heart/subscribers","subscription_url":"https://api.github.com/repos/hackforla/heart/subscription","commits_url":"https://api.github.com/repos/hackforla/heart/commits{/sha}","git_commits_url":"https://api.github.com/repos/hackforla/heart/git/commits{/sha}","comments_url":"https://api.github.com/repos/hackforla/heart/comments{/number}","issue_comment_url":"https://api.github.com/repos/hackforla/heart/issues/comments{/number}","contents_url":"https://api.github.com/repos/hackforla/heart/contents/{+path}","compare_url":"https://api.github.com/repos/hackforla/heart/compare/{base}...{head}","merges_url":"https://api.github.com/repos/hackforla/heart/merges","archive_url":"https://api.github.com/repos/hackforla/heart/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/hackforla/heart/downloads","issues_url":"https://api.github.com/repos/hackforla/heart/issues{/number}","pulls_url":"https://api.github.com/repos/hackforla/heart/pulls{/number}","milestones_url":"https://api.github.com/repos/hackforla/heart/milestones{/number}","notifications_url":"https://api.github.com/repos/hackforla/heart/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/hackforla/heart/labels{/name}","releases_url":"https://api.github.com/repos/hackforla/heart/releases{/id}","deployments_url":"https://api.github.com/repos/hackforla/heart/deployments","created_at":"2018-11-27T06:26:31Z","updated_at":"2018-12-11T04:18:25Z","pushed_at":"2018-12-12T06:58:31Z","git_url":"git://github.com/hackforla/heart.git","ssh_url":"git@github.com:hackforla/heart.git","clone_url":"https://github.com/hackforla/heart.git","svn_url":"https://github.com/hackforla/heart","homepage":null,"size":1186,"stargazers_count":1,"watchers_count":1,"language":"HTML","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":16,"license":null,"forks":0,"open_issues":16,"watchers":1,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/hackforla/heart/pulls/20"},"html":{"href":"https://github.com/hackforla/heart/pull/20"},"issue":{"href":"https://api.github.com/repos/hackforla/heart/issues/20"},"comments":{"href":"https://api.github.com/repos/hackforla/heart/issues/20/comments"},"review_comments":{"href":"https://api.github.com/repos/hackforla/heart/pulls/20/comments"},"review_comment":{"href":"https://api.github.com/repos/hackforla/heart/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/hackforla/heart/pulls/20/commits"},"statuses":{"href":"https://api.github.com/repos/hackforla/heart/statuses/5f7599f0e4cde577af0a8c8f340c27b792be56e1"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"thekaveman"}}