{"id":15880048,"url":"https://github.com/crowdhailer/elixir-on-docker","last_synced_at":"2025-03-17T12:31:10.198Z","repository":{"id":71845823,"uuid":"108719795","full_name":"CrowdHailer/elixir-on-docker","owner":"CrowdHailer","description":"Quickly get started developing clustered Elixir applications for cloud environments.","archived":false,"fork":false,"pushed_at":"2019-10-11T21:37:53.000Z","size":83,"stargazers_count":171,"open_issues_count":17,"forks_count":10,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-04-22T13:33:25.843Z","etag":null,"topics":["cloud","docker","docker-cloud","docker-compose","elixir","erlang","web"],"latest_commit_sha":null,"homepage":"http://crowdhailer.me/talks/2017-10-31/live-coded-chat-app-in-45-minutes/","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CrowdHailer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-10-29T09:07:57.000Z","updated_at":"2024-04-21T21:19:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"c46790cb-79cd-4044-8c11-9681529b0c21","html_url":"https://github.com/CrowdHailer/elixir-on-docker","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CrowdHailer%2Felixir-on-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CrowdHailer%2Felixir-on-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CrowdHailer%2Felixir-on-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CrowdHailer%2Felixir-on-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CrowdHailer","download_url":"https://codeload.github.com/CrowdHailer/elixir-on-docker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243864609,"owners_count":20360355,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloud","docker","docker-cloud","docker-compose","elixir","erlang","web"],"created_at":"2024-10-06T03:07:19.053Z","updated_at":"2025-03-17T12:31:09.858Z","avatar_url":"https://github.com/CrowdHailer.png","language":"Elixir","readme":"# Elixir on Docker\n\n**Quickly get started developing clustered Elixir applications for cloud environments.**\n\n[See a walkthrough of developing a chat application from this template](http://crowdhailer.me/talks/2017-10-31/live-coded-chat-app-in-45-minutes/)\n\nThis project template provides a set of sensible defaults for a new application designed to be cloud native.\nIt includes:\n\n- A main service `www`, this serves the main content offered by your application.\n- Secure HTTP/2 content delivery with [Ace](https://github.com/crowdhailer/ace) web server.\n- Code reloading in development environment using [ExSync](https://github.com/falood/exsync).\n- Automatic clustering. Setup for [docker-cloud](http://cloud.docker.com/) other environments coming soon.\n- Web based metrics, monitoring and observing with [Wobserver](https://github.com/shinyscorpion/wobserver).\n- Documentation driven development with [Raxx.ApiBlueprint](https://hex.pm/packages/raxx_api_blueprint).\n- Integration test suit running from the `integration` service.\n\n## Get Started\n\nTo use this template docker and docker-compose need to be installed on your machine.\n\n### Clone this repository\n\n*Change project-name to your projects name.*\n\n```\ngit clone \u003curl\u003e \u003cproject-name\u003e\ncd \u003cproject-name\u003e\n```\n\nDelete git history.\n\n```\nrm -r .git\n```\n\n### Fetch dependencies\n\n```\ndocker-compose run --rm www mix deps.get\n```\n\n*All mix tasks for a service can be run this way, such as tests for a single service.*\n\n### Run all services\n\n```\ndocker-compose up\n```\n\n*Use `-d` to run in the background.*\n*Use `--build` to ensure images are rebuilt.*\n*Use `docker-compose down` to stop all services.*\n\n- HTTP endpoint available at: [http://localhost:8080/](http://localhost:8080/)\n- HTTPs endpoint available at: [https://localhost:8443/](https://localhost:8443/)\n- Wobserver dashboard available at: [http://localhost:4001/](http://localhost:4001/)\n\n\n### Run integration tests\n\n```\ndocker-compose \\\n-f docker-compose.yml \\\n-f docker-compose-test.yml \\\nrun integration /bin/bash -c \"mix deps.get; mix test\"\n```\n\n*The `-f` flag specifies a compose file to use when starting services.*\n\n### Attach iex session\n\n```sh\ndocker ps\n# Find container-id to attach to.\n\ndocker exec -it \u003ccontainer-id\u003e sh bin/debug\n\n# in iex shell\niex(debug@\u003chostname\u003e)1\u003e Node.connect(:\"app@\u003chostname\u003e\")\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrowdhailer%2Felixir-on-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcrowdhailer%2Felixir-on-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrowdhailer%2Felixir-on-docker/lists"}