Merge branch 'docker-image-prod' into 'master'
Docker image prod See merge request !51
This commit is contained in:
commit
023019b748
2
.gitignore
vendored
2
.gitignore
vendored
@ -2,3 +2,5 @@ node_modules
|
||||
build
|
||||
config.yml
|
||||
*.log
|
||||
docker/app.env
|
||||
docker/db.env
|
||||
|
13
Makefile
13
Makefile
@ -1,4 +1,4 @@
|
||||
.PHONY: docker migration dev clean test
|
||||
.PHONY: docker migration dev clean test build_docker_image
|
||||
|
||||
DB_USER=test
|
||||
DB_PASS=test
|
||||
@ -24,6 +24,17 @@ docker:
|
||||
$(DOCKER_COMPOSE) up -d
|
||||
sleep 8
|
||||
|
||||
build_docker_image:
|
||||
rm -rf canapeapp
|
||||
mkdir canapeapp
|
||||
cp -R docker/run.sh canapeapp/run.sh
|
||||
cp -R sql/migration canapeapp/migrations
|
||||
cp $$GOPATH/bin/migrate canapeapp/migrate
|
||||
yarn build
|
||||
go build -v -o canapeapp/app src/*.go
|
||||
docker build --tag canapeapp:latest --file docker/Dockerfile-production .
|
||||
rm -rf canapeapp
|
||||
|
||||
migration-schema: docker
|
||||
$(MIGRATION) -path $(MIGRATION_SCHEMA) up
|
||||
|
||||
|
6
docker/Dockerfile-production
Normal file
6
docker/Dockerfile-production
Normal file
@ -0,0 +1,6 @@
|
||||
FROM debian:8.7
|
||||
RUN apt update && apt upgrade -y && apt install -y ca-certificates && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY canapeapp /opt/canapeapp
|
||||
WORKDIR /opt/canapeapp
|
||||
CMD ["/opt/canapeapp/run.sh"]
|
4
docker/app.env.example
Normal file
4
docker/app.env.example
Normal file
@ -0,0 +1,4 @@
|
||||
CONFIG_FILE=/etc/canapeapp.yml
|
||||
DB_USER=w000t
|
||||
DB_PASS=bob
|
||||
DB_ENV=production
|
4
docker/db.env.example
Normal file
4
docker/db.env.example
Normal file
@ -0,0 +1,4 @@
|
||||
POSTGRES_PASSWORD=bob
|
||||
POSTGRES_USER=w000t
|
||||
POSTGRES_DB=production
|
||||
PGDATA=/var/lib/postgresql/data/pgdata
|
41
docker/docker-compose-prod.yml
Normal file
41
docker/docker-compose-prod.yml
Normal file
@ -0,0 +1,41 @@
|
||||
version: "3"
|
||||
|
||||
networks:
|
||||
canapeapp:
|
||||
external: false
|
||||
|
||||
services:
|
||||
database:
|
||||
image: postgres:9.5
|
||||
container_name: canapeapp_database
|
||||
restart: always
|
||||
networks:
|
||||
- canapeapp
|
||||
volumes:
|
||||
- db-volume:/var/lib/postgresql/data/pgdata
|
||||
ports:
|
||||
- 127.0.0.1:5432:5432
|
||||
env_file:
|
||||
- ./db.env
|
||||
|
||||
app:
|
||||
image: canapeapp:latest
|
||||
container_name: canapeapp
|
||||
restart: always
|
||||
depends_on:
|
||||
- database
|
||||
networks:
|
||||
- canapeapp
|
||||
ports:
|
||||
- 127.0.0.1:3000:3000
|
||||
volumes:
|
||||
- ../config.yml:/etc/canapeapp.yml:ro
|
||||
- img-volume:/home/img
|
||||
links:
|
||||
- database
|
||||
env_file:
|
||||
- ./app.env
|
||||
|
||||
volumes:
|
||||
img-volume:
|
||||
db-volume:
|
10
docker/run.sh
Executable file
10
docker/run.sh
Executable file
@ -0,0 +1,10 @@
|
||||
#!/bin/sh
|
||||
|
||||
echo "Running migrations..."
|
||||
/opt/canapeapp/migrate \
|
||||
-url postgres://${DB_USER}:${DB_PASS}@database:5432/${DB_ENV}?sslmode=disable \
|
||||
-path /opt/canapeapp/migrations \
|
||||
up
|
||||
echo "Migrations done"
|
||||
|
||||
exec /opt/canapeapp/app
|
@ -2,6 +2,10 @@ var webpack = require("webpack");
|
||||
var path = require("path");
|
||||
|
||||
var BUILD_DIR = path.resolve(__dirname, 'build/public/');
|
||||
if (process.env.NODE_ENV === 'production') {
|
||||
BUILD_DIR = path.resolve(__dirname, 'canapeapp/public/');
|
||||
}
|
||||
|
||||
var SRC_DIR = path.resolve(__dirname, 'src/public/js');
|
||||
|
||||
const config = {
|
||||
|
Loading…
x
Reference in New Issue
Block a user