initial docker setup for bump
This commit is contained in:
commit
761700386c
16
bump/Dockerfile
Normal file
16
bump/Dockerfile
Normal file
@ -0,0 +1,16 @@
|
||||
# Elixir + Phoenix
|
||||
|
||||
FROM elixir:1.12.2
|
||||
|
||||
# Install debian packages
|
||||
RUN apt-get update
|
||||
RUN apt-get install --yes build-essential inotify-tools postgresql-client
|
||||
|
||||
# Install Phoenix packages
|
||||
RUN mix local.hex --force
|
||||
RUN mix local.rebar --force
|
||||
RUN mix archive.install hex phx_new --force
|
||||
|
||||
COPY setup.sh /usr/local/bin/
|
||||
EXPOSE 4012
|
||||
ENTRYPOINT ["setup.sh"]
|
31
bump/setup.sh
Executable file
31
bump/setup.sh
Executable file
@ -0,0 +1,31 @@
|
||||
#!/bin/sh
|
||||
# Adapted from Alex Kleissner's post, Running a Phoenix 1.3 project with docker-compose
|
||||
# https://medium.com/@hex337/running-a-phoenix-1-3-project-with-docker-compose-d82ab55e43cf
|
||||
|
||||
cd /app/
|
||||
set -e
|
||||
|
||||
# Ensure the app's dependencies are installed
|
||||
mix deps.get --only prod
|
||||
|
||||
#Analysis style code
|
||||
# Prepare Credo if the project has Credo start code analyze
|
||||
if mix help credo >/dev/null 2>&1
|
||||
then
|
||||
echo "\nFound Credo: analyzing..."
|
||||
mix credo || true
|
||||
else
|
||||
echo "\nNo Credo config: Skipping code analyze..."
|
||||
fi
|
||||
|
||||
# Potentially Set up the database
|
||||
MIX_ENV=prod mix ecto.create
|
||||
MIX_ENV=prod mix ecto.migrate
|
||||
|
||||
echo "\nTesting the installation..."
|
||||
# "Prove" that install was successful by running the tests
|
||||
mix test
|
||||
|
||||
echo "\n Launching Phoenix web server..."
|
||||
# Start the phoenix web server
|
||||
PORT=4012 MIX_ENV=prod mix phx.server
|
26
docker-compose.yml
Normal file
26
docker-compose.yml
Normal file
@ -0,0 +1,26 @@
|
||||
version: '3'
|
||||
services:
|
||||
database:
|
||||
image: postgres
|
||||
environment:
|
||||
- POSTGRES_USER=postgres
|
||||
- POSTGRES_PASSWORD=postgres
|
||||
- POSTGRES_DB=db
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ./postgres-data:/var/lib/postgresql/data
|
||||
- ./postgresql.conf:/etc/postgresql.conf
|
||||
command: postgres -c config_file=/etc/postgresql.conf
|
||||
ports:
|
||||
- "5555:5555"
|
||||
bump-server:
|
||||
build:
|
||||
context: ./bump
|
||||
image: maenle/bump-server:latest
|
||||
container_name: bump-server
|
||||
volumes:
|
||||
- ../bump_server:/app
|
||||
ports:
|
||||
- "4012:4012"
|
||||
depends_on:
|
||||
- database
|
2
postgresql.conf
Normal file
2
postgresql.conf
Normal file
@ -0,0 +1,2 @@
|
||||
port = 5555
|
||||
listen_addresses='*'
|
Loading…
Reference in New Issue
Block a user