All Projects → dogweather → Phoenix Docker Compose

dogweather / Phoenix Docker Compose

Licence: apache-2.0
Docker development environment for Elixir+Phoenix

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Phoenix Docker Compose

Hela
🍦 Powerful software development experience and management. Enhancing @tc39 JS, @denoland and @nodejs, because we need a bit of magic. ✨ You can think of it as Cargo for the JavaScript ecosystem.
Stars: ✭ 320 (+144.27%)
Mutual labels:  devops, developer-tools
Pulse
Dynamic, api-driven stats collector service for realtime stats publishing and historical aggregation with Influxdb.
Stars: ✭ 48 (-63.36%)
Mutual labels:  devops, developer-tools
Shaman
Small, lightweight, api-driven dns server.
Stars: ✭ 426 (+225.19%)
Mutual labels:  devops, developer-tools
Takeoff
A rapid development environment using docker for convenience.
Stars: ✭ 271 (+106.87%)
Mutual labels:  devops, developer-tools
Envkey App
Secure, human-friendly, cross-platform secrets and config.
Stars: ✭ 83 (-36.64%)
Mutual labels:  devops, developer-tools
Pyroscope
Continuous Profiling Platform! Debug performance issues down to a single line of code
Stars: ✭ 4,816 (+3576.34%)
Mutual labels:  devops, developer-tools
Shon
A simple tool to convert json or yaml into a shell-compliant data structure.
Stars: ✭ 47 (-64.12%)
Mutual labels:  devops, developer-tools
Kubefwd
Bulk port forwarding Kubernetes services for local development.
Stars: ✭ 2,713 (+1970.99%)
Mutual labels:  devops, developer-tools
Logvac
Simple, lightweight, api-driven log aggregation service with realtime push capabilities and historical persistence.
Stars: ✭ 61 (-53.44%)
Mutual labels:  devops, developer-tools
Grpcc
A gRPC cli interface for easy testing against gRPC servers
Stars: ✭ 1,078 (+722.9%)
Mutual labels:  devops, developer-tools
Httpie
As easy as /aitch-tee-tee-pie/ 🥧 Modern, user-friendly command-line HTTP client for the API era. JSON support, colors, sessions, downloads, plugins & more. https://twitter.com/httpie
Stars: ✭ 53,052 (+40397.71%)
Mutual labels:  devops, developer-tools
Hoarder
A simple, api-driven storage system for storing code builds and cached libraries for cloud-based deployment services.
Stars: ✭ 91 (-30.53%)
Mutual labels:  devops, developer-tools
Awesome Ci
List of Continuous Integration services
Stars: ✭ 2,737 (+1989.31%)
Mutual labels:  devops, developer-tools
Circleci Cli
Use CircleCI from the command line
Stars: ✭ 297 (+126.72%)
Mutual labels:  devops, developer-tools
Sfpowerkit
A Salesforce DX Plugin with multiple functionalities aimed at improving development and operational workflows
Stars: ✭ 214 (+63.36%)
Mutual labels:  devops, developer-tools
Terragrunt
Terragrunt is a thin wrapper for Terraform that provides extra tools for working with multiple Terraform modules.
Stars: ✭ 5,446 (+4057.25%)
Mutual labels:  devops, developer-tools
Anteater
Anteater - CI/CD Gate Check Framework
Stars: ✭ 174 (+32.82%)
Mutual labels:  devops, developer-tools
Txeh
Go library and CLI utilty for /etc/hosts management.
Stars: ✭ 181 (+38.17%)
Mutual labels:  devops, developer-tools
Spm Agent Nodejs
NodeJS Monitoring Agent
Stars: ✭ 51 (-61.07%)
Mutual labels:  devops, developer-tools
Copilot Cli
The AWS Copilot CLI is a tool for developers to build, release and operate production ready containerized applications on Amazon ECS and AWS Fargate.
Stars: ✭ 1,285 (+880.92%)
Mutual labels:  devops, developer-tools

Elixir / Phoenix containerized development environment

This repo contains simple boilerplate files that can be added to any Phoenix application so you may run it and its database inside Docker containers using Docker Compose.

What you get

  • One-line dev environment setup: docker-compose up. This command creates the database, does the Dialyzer pre-work (if the project has Dialyxer installed), and everything else.
  • Developer-friendly setup: Source code is mounted so that changes in the container appear on the host and vice-versa.
  • Fast re-builds because the Dockerfile is written to help Docker cache the images.
  • Syncing with Postgres startup delay.
  • All the crappy little dependencies installed.
  • No weird hacks.

Uses Elixir 1.9.4 (compatible with Phoenix 1.4), and latest Postgres.

Instructions

  1. Copy the three files (Dockerfile, docker-compose.yml, and run.sh) to an existing Phoenix project which you want to Dockerize.
  2. Make run.sh executable, e.g. chmod +x run.sh
  3. Edit the database connection settings for the environments which will use this setup (usually dev.exs and test.exs). You 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:
# Inside config/dev.ex and/or config/test.exs
config :my_app, MyApp.Repo,
  hostname: System.get_env("DB_HOST", "localhost"),
  password: System.get_env("DB_PASS", "postgres"),
  # ... etc...
  1. Spin it up with docker-compose up.

Usage

Tests can be run in the container like so:

docker-compose run web mix test

Or, for a slightly faster startup time,

docker-compose exec web mix test

... I haven't found a disadvantage of re-using the running container this way.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].