initial docker setup for bump
This commit is contained in:
		
							
								
								
									
										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='*'
 | 
			
		||||
		Reference in New Issue
	
	Block a user