Skip to content

Plus17/phoenix-alpine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Docker Phoenix

A docker image based on hexpm images with pre installed erlang, elixir, phoenix & nodejs.

Current versions:

Alpine 3.15.0

Elixir 1.14.0

Erlang/OTP 24.0.2

Phoenix 1.6.12

Node 16.14.2

Dockerize your phoenix project quickly with docker-compose with this image.

For a complete example see Phoenix Boilerplate.

Example:

version: '3.7'

volumes:
  deps:
  builds:
  node_modules:

services:
  phx:
    image: plus17/phoenix-alpine:1.14.0-1.6.12
    ports:
      - ${HTTP_PORT:-4000}:${HTTP_PORT:-4000}
    volumes:
      - ./:/app/src
      - deps:/app/src/deps
      - builds:/app/src/_build
      - node_modules:/app/src/assets/node_modules
    depends_on:
      - postgres
    env_file:
      - .env
    working_dir: /app/src

  postgres:
    image: postgres:11
    ports:
      - ${DATABASE_EXTERNAL_PORT:-5432}:5432
    environment:
      POSTGRES_HOST_AUTH_METHOD: "trust"

And execute with:

# Commands to set-up your app
docker-compose run --rm phx sh -c "mix ecto.create"
docker-compose run --rm phx sh -c "mix ecto.migrate"
docker-compose run --rm phx sh -c "cd assets/node_modules && npm install"

# Start your server
docker-compose run --service-ports phx iex --sname your_app -S mix phx.server

# To run tests
ENV=test docker-compose run --rm phx sh -c "mix test"

About

An Alpine based image with Elixir, Phoenix & NodeJS for Phoenix applications

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors