Quickly get started developing clustered Elixir applications for cloud environments.
Quickly get started developing clustered Elixir applications for cloud environments.
See a walkthrough of developing a chat application from this template
This project template provides a set of sensible defaults for a new application designed to be cloud native. It includes:
www
, this serves the main content offered by your application.integration
service.To use this template docker and docker-compose need to be installed on your machine.
Change project-name to your projects name.
git clone <url> <project-name>
cd <project-name>
Delete git history.
rm -r .git
docker-compose run --rm www mix deps.get
All mix tasks for a service can be run this way, such as tests for a single service.
docker-compose up
Use -d
to run in the background.
Use --build
to ensure images are rebuilt.
Use docker-compose down
to stop all services.
docker-compose \
-f docker-compose.yml \
-f docker-compose-test.yml \
run integration /bin/bash -c "mix deps.get; mix test"
The -f
flag specifies a compose file to use when starting services.
docker ps
# Find container-id to attach to.
docker exec -it <container-id> sh bin/debug
# in iex shell
iex(debug@<hostname>)1> Node.connect(:"app@<hostname>")