{"action":"created","issue":{"url":"https://api.github.com/repos/CachetHQ/Docker/issues/106","repository_url":"https://api.github.com/repos/CachetHQ/Docker","labels_url":"https://api.github.com/repos/CachetHQ/Docker/issues/106/labels{/name}","comments_url":"https://api.github.com/repos/CachetHQ/Docker/issues/106/comments","events_url":"https://api.github.com/repos/CachetHQ/Docker/issues/106/events","html_url":"https://github.com/CachetHQ/Docker/issues/106","id":163626279,"number":106,"title":"Don't use volumes to share code between nginx & fpm","user":{"login":"morvans","id":697325,"avatar_url":"https://avatars.githubusercontent.com/u/697325?v=3","gravatar_id":"","url":"https://api.github.com/users/morvans","html_url":"https://github.com/morvans","followers_url":"https://api.github.com/users/morvans/followers","following_url":"https://api.github.com/users/morvans/following{/other_user}","gists_url":"https://api.github.com/users/morvans/gists{/gist_id}","starred_url":"https://api.github.com/users/morvans/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/morvans/subscriptions","organizations_url":"https://api.github.com/users/morvans/orgs","repos_url":"https://api.github.com/users/morvans/repos","events_url":"https://api.github.com/users/morvans/events{/privacy}","received_events_url":"https://api.github.com/users/morvans/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/CachetHQ/Docker/labels/compose","name":"compose","color":"1d76db"},{"url":"https://api.github.com/repos/CachetHQ/Docker/labels/design","name":"design","color":"d4c5f9"}],"state":"open","locked":false,"assignee":{"login":"djdefi","id":3662109,"avatar_url":"https://avatars.githubusercontent.com/u/3662109?v=3","gravatar_id":"","url":"https://api.github.com/users/djdefi","html_url":"https://github.com/djdefi","followers_url":"https://api.github.com/users/djdefi/followers","following_url":"https://api.github.com/users/djdefi/following{/other_user}","gists_url":"https://api.github.com/users/djdefi/gists{/gist_id}","starred_url":"https://api.github.com/users/djdefi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/djdefi/subscriptions","organizations_url":"https://api.github.com/users/djdefi/orgs","repos_url":"https://api.github.com/users/djdefi/repos","events_url":"https://api.github.com/users/djdefi/events{/privacy}","received_events_url":"https://api.github.com/users/djdefi/received_events","type":"User","site_admin":true},"assignees":[{"login":"djdefi","id":3662109,"avatar_url":"https://avatars.githubusercontent.com/u/3662109?v=3","gravatar_id":"","url":"https://api.github.com/users/djdefi","html_url":"https://github.com/djdefi","followers_url":"https://api.github.com/users/djdefi/followers","following_url":"https://api.github.com/users/djdefi/following{/other_user}","gists_url":"https://api.github.com/users/djdefi/gists{/gist_id}","starred_url":"https://api.github.com/users/djdefi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/djdefi/subscriptions","organizations_url":"https://api.github.com/users/djdefi/orgs","repos_url":"https://api.github.com/users/djdefi/repos","events_url":"https://api.github.com/users/djdefi/events{/privacy}","received_events_url":"https://api.github.com/users/djdefi/received_events","type":"User","site_admin":true}],"milestone":{"url":"https://api.github.com/repos/CachetHQ/Docker/milestones/3","html_url":"https://github.com/CachetHQ/Docker/milestones/2.4","labels_url":"https://api.github.com/repos/CachetHQ/Docker/milestones/3/labels","id":1923922,"number":3,"title":"2.4","description":"","creator":{"login":"djdefi","id":3662109,"avatar_url":"https://avatars.githubusercontent.com/u/3662109?v=3","gravatar_id":"","url":"https://api.github.com/users/djdefi","html_url":"https://github.com/djdefi","followers_url":"https://api.github.com/users/djdefi/followers","following_url":"https://api.github.com/users/djdefi/following{/other_user}","gists_url":"https://api.github.com/users/djdefi/gists{/gist_id}","starred_url":"https://api.github.com/users/djdefi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/djdefi/subscriptions","organizations_url":"https://api.github.com/users/djdefi/orgs","repos_url":"https://api.github.com/users/djdefi/repos","events_url":"https://api.github.com/users/djdefi/events{/privacy}","received_events_url":"https://api.github.com/users/djdefi/received_events","type":"User","site_admin":true},"open_issues":3,"closed_issues":0,"state":"open","created_at":"2016-08-04T16:36:57Z","updated_at":"2016-08-16T17:37:51Z","due_on":null,"closed_at":null},"comments":5,"created_at":"2016-07-04T08:23:16Z","updated_at":"2016-08-22T17:22:00Z","closed_at":null,"body":"I think it's a bad design to use Docker volumes to share PHP source code between nginx & php-fpm containers.\r\n\r\nApart from the \"philosophical\" perspective which states that application code should leave inside the container and only data should be persisted in volumes, it's also a pain from an operational point of view.\r\n\r\nIf you want to update Cachet from vX to vY, you can't just change the tag of the image and docker-compose up -d because compose will keep on using the volume created initially, with the code of vX. You have to manually destroy php-fpm (cachet) and nginx containers and recreate it.\r\n\r\nUnfortunately, putting application code inside container means, for that use case, building a custom nginx image with the application code, which essentially means maintaining two images. \r\n\r\nThe other approach would be to provide a unique (simpler) image which combines the web server and the php runtime. It could also be an apache2 + mod_php image."},"comment":{"url":"https://api.github.com/repos/CachetHQ/Docker/issues/comments/241485010","html_url":"https://github.com/CachetHQ/Docker/issues/106#issuecomment-241485010","issue_url":"https://api.github.com/repos/CachetHQ/Docker/issues/106","id":241485010,"user":{"login":"djdefi","id":3662109,"avatar_url":"https://avatars.githubusercontent.com/u/3662109?v=3","gravatar_id":"","url":"https://api.github.com/users/djdefi","html_url":"https://github.com/djdefi","followers_url":"https://api.github.com/users/djdefi/followers","following_url":"https://api.github.com/users/djdefi/following{/other_user}","gists_url":"https://api.github.com/users/djdefi/gists{/gist_id}","starred_url":"https://api.github.com/users/djdefi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/djdefi/subscriptions","organizations_url":"https://api.github.com/users/djdefi/orgs","repos_url":"https://api.github.com/users/djdefi/repos","events_url":"https://api.github.com/users/djdefi/events{/privacy}","received_events_url":"https://api.github.com/users/djdefi/received_events","type":"User","site_admin":true},"created_at":"2016-08-22T17:22:00Z","updated_at":"2016-08-22T17:22:00Z","body":"@gamkiller77 I dont have a branch currently.\r\n\r\nI was thinking of just going back to how we had it before #46 and putting nginx, fpm, and the cachet code all in the same image. I am happy to review a PR if you want to take a stab at reverting those changes with the current master. I prob wont be able to work on one myself until later this week.\r\n\r\nI am ok with doing \"one purpose per container\" rather than \"one process per container\". The image's purpose is to display Cachet, so I am 👍  with this. We have supervisord already in there for process spawning. No more volumes to share, and one less container required to be running etc."}}
{"actor":{"display_login":"djdefi"}}