{"id":13835716,"url":"https://github.com/dogweather/phoenix-docker-compose","last_synced_at":"2025-11-11T19:27:06.187Z","repository":{"id":54984048,"uuid":"119958479","full_name":"dogweather/phoenix-docker-compose","owner":"dogweather","description":"Docker development environment for Elixir+Phoenix","archived":false,"fork":false,"pushed_at":"2021-01-17T22:50:40.000Z","size":20,"stargazers_count":158,"open_issues_count":1,"forks_count":39,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-09-11T06:21:07.420Z","etag":null,"topics":["developer-tools","devops","docker","phoenix-framework"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dogweather.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-02-02T09:03:57.000Z","updated_at":"2025-08-28T17:45:22.000Z","dependencies_parsed_at":"2022-08-14T08:10:30.444Z","dependency_job_id":null,"html_url":"https://github.com/dogweather/phoenix-docker-compose","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dogweather/phoenix-docker-compose","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dogweather%2Fphoenix-docker-compose","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dogweather%2Fphoenix-docker-compose/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dogweather%2Fphoenix-docker-compose/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dogweather%2Fphoenix-docker-compose/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dogweather","download_url":"https://codeload.github.com/dogweather/phoenix-docker-compose/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dogweather%2Fphoenix-docker-compose/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275649815,"owners_count":25503212,"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","status":"online","status_checked_at":"2025-09-17T02:00:09.119Z","response_time":84,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["developer-tools","devops","docker","phoenix-framework"],"created_at":"2024-08-04T14:01:10.694Z","updated_at":"2025-09-17T19:31:02.300Z","avatar_url":"https://github.com/dogweather.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"# Elixir / Phoenix containerized development environment\n\nThis repo contains simple boilerplate files that can be added to any [Phoenix](https://www.phoenixframework.org/) application so you may run it and its database inside Docker containers using [Docker Compose](https://docs.docker.com/compose/). \n\n## What you get\n\n* One-line dev environment setup: `docker-compose up`. This command creates the database, does the Dialyzer pre-work (if the project has [Dialyxer](https://github.com/jeremyjh/dialyxir) installed), and everything else.\n* Developer-friendly setup: Source code is mounted so that changes in the container appear on the host and vice-versa.\n* Fast re-builds because the `Dockerfile` is written to help Docker cache the images.\n* Syncing with Postgres startup delay.\n* All the crappy little dependencies installed.\n* No weird hacks.\n\nUses Elixir 1.9.4 (compatible with Phoenix 1.4), and latest Postgres. \n\n## Instructions\n\n1. Copy the three files (`Dockerfile`, `docker-compose.yml`, and `run.sh`) to an existing Phoenix project which you want to Dockerize. \n2. Make `run.sh` executable, e.g. `chmod +x run.sh`\n3. Edit the database connection settings for the environments which will use this setup (usually `dev.exs` and `test.exs`).\nYou can hard-code the credentials for the relevant environment(s) to reference the hostname of `db`, a username of `postgres`, and an empty password, or you can specify environment-variable overrides like the following:\n\n```elixir\n# Inside config/dev.ex and/or config/test.exs\nconfig :my_app, MyApp.Repo,\n  hostname: System.get_env(\"DB_HOST\", \"localhost\"),\n  password: System.get_env(\"DB_PASS\", \"postgres\"),\n  # ... etc...\n```\n\n4. Spin it up with `docker-compose up`.\n\n## Usage\n\nTests can be run in the container like so:\n\n```bash\ndocker-compose run web mix test\n```\n\nOr, for a slightly faster startup time,\n\n```bash\ndocker-compose exec web mix test\n```\n\n... I haven't found a disadvantage of re-using the running container this way.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdogweather%2Fphoenix-docker-compose","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdogweather%2Fphoenix-docker-compose","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdogweather%2Fphoenix-docker-compose/lists"}