{"action":"opened","issue":{"url":"https://api.github.com/repos/operable/cog/issues/439","repository_url":"https://api.github.com/repos/operable/cog","labels_url":"https://api.github.com/repos/operable/cog/issues/439/labels{/name}","comments_url":"https://api.github.com/repos/operable/cog/issues/439/comments","events_url":"https://api.github.com/repos/operable/cog/issues/439/events","html_url":"https://github.com/operable/cog/issues/439","id":142171863,"number":439,"title":"complete install through apt-get, for ubuntu 14.04 (with dependencies)","user":{"login":"ketzacoatl","id":10122937,"avatar_url":"https://avatars.githubusercontent.com/u/10122937?v=3","gravatar_id":"","url":"https://api.github.com/users/ketzacoatl","html_url":"https://github.com/ketzacoatl","followers_url":"https://api.github.com/users/ketzacoatl/followers","following_url":"https://api.github.com/users/ketzacoatl/following{/other_user}","gists_url":"https://api.github.com/users/ketzacoatl/gists{/gist_id}","starred_url":"https://api.github.com/users/ketzacoatl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ketzacoatl/subscriptions","organizations_url":"https://api.github.com/users/ketzacoatl/orgs","repos_url":"https://api.github.com/users/ketzacoatl/repos","events_url":"https://api.github.com/users/ketzacoatl/events{/privacy}","received_events_url":"https://api.github.com/users/ketzacoatl/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-03-20T15:00:05Z","updated_at":"2016-03-20T15:00:05Z","closed_at":null,"body":"Following https://github.com/operable/cog/wiki/Installation-Guide, I started exploring `cog` with the Docker images. That worked great, and I was able to complete my initial explorations of the system integrated with Slack (it's _awesome_, a totally great product!). While I can easily run the cog server as an instance on Docker, for various reasons, it makes a lot of sense in my infrastructure for the cog relay to run directly on the host (not on Docker). That led me to the question: _how do I install cog-relay on Ubuntu 14.04?_\r\n\r\nGoing back to the install guide, the non-docker options are: either running the git/make directly (\"manual install\") or using the `setup.sh` script (https://github.com/operable/cog/blob/master/scripts/setup.sh, the \"scripted install\"). It seems the `setup.sh` assumes the user will install elixir and the other dependencies:\r\n\r\n```\r\nuser@host:~# ./setup.sh                                                                                                                                                          \r\nErlang installed.....Not found\r\nElixir installed.....Not found\r\nMix installed.....Not found\r\nMake installed...../usr/bin/make\r\nGit installed...../usr/bin/git\r\nSetup aborted.\r\n```\r\n\r\nAs a user looking to test out the system and get functional configuration management formula in place, this is my first contention: your installation guide, the script.sh, etc, should provide the guidance needed to setup/install the dependencies cog will need.\r\n\r\nNow is probably a good time to mention that I'm ok with a rough product, and something being sharp won't keep me away.. I'm just sharing the critical perspective, assuming it will be helpful.\r\n\r\nThe second contention I experience with the existing methods, is that the \"scripted install\" (`script.sh`) appears to run through the manual build, rather than installing packages. As a user interested in getting up and running quickly, but also requiring some conventions (and flexibility) from my tools, I would like to request the following:\r\n\r\n* it should be possible to install cog, and all its dependencies, with `apt-get`\r\n* the install guide should inform the user how to install the dependencies, or point the user to the information they should follow\r\n* it's great to have the manual install scripted, but if all deps and cog itself are installable through `apt-get`, a script that grabs/imports the GPG key and installs the packages correctly is invaluable (to both newbs who want something quick, as well as experts who need to know what to have config management reproduce).\r\n\r\nDigging into the build process for the Docker image, it seems the apt-get appears available, and I attempted installing packages with the help of https://github.com/operable/docker-base/blob/master/packagecloud.sh, but that did not work.\r\n\r\nI eventually followed http://elixir-lang.org/install.html to install elixir, then ran `setup.sh`, but that fails:\r\n\r\n```\r\nuser@host:~# ./setup.sh -v /usr/local/bin/\r\nErlang installed...../usr/bin/erl\r\nElixir installed...../usr/local/bin/iex\r\nMix installed...../usr/local/bin/mix\r\nMake installed...../usr/bin/make\r\nGit installed...../usr/bin/git\r\nCloning repositories for the following projects: cog relay cogctl relayctl\r\n\r\nCloning into 'cog'...\r\nremote: Counting objects: 4477, done.\r\nremote: Compressing objects: 100% (149/149), done.\r\nremote: Total 4477 (delta 131), reused 62 (delta 62), pack-reused 4259\r\nReceiving objects: 100% (4477/4477), 2.30 MiB | 2.91 MiB/s, done.\r\nResolving deltas: 100% (2448/2448), done.\r\nChecking connectivity... done.\r\nNote: checking out '0.2'.\r\n\r\nYou are in 'detached HEAD' state. You can look around, make experimental\r\nchanges and commit them, and you can discard any commits you make in this\r\nstate without impacting any branches by performing another checkout.\r\n\r\nIf you want to create a new branch to retain commits you create, you may\r\ndo so (now or later) by using -b with the checkout command again. Example:\r\n\r\n  git checkout -b new_branch_name\r\n\r\nHEAD is now at 1d6c0f0... Updating internal deps\r\nBuilding cog.\r\nMakefile:38: *** Erlang must be compiled with support for dirty schedulers.  Stop.\r\ncog build failed.\r\nSetup aborted.\r\n```\r\n\r\n```\r\nuser@host # elixir --version\r\nErlang/OTP 18 [erts-7.3] [source-d2a6d81] [64-bit] [async-threads:10] [hipe] [kernel-poll:false]\r\n\r\nElixir 1.2.3\r\n```"}}