-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdocker-compose.yml
102 lines (96 loc) · 2.87 KB
/
docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
version: '3'
services:
### Job SERVER ###
job_server:
build: ./job_server
expose:
- ${JOB_APP_PORT}
environment:
# Application Configurations
APP_ENVIROMENT: ${JOB_APP_ENVIROMENT}
APP_PORT: ${JOB_APP_PORT}
# TypeORM(postgress db) configurations
TYPEORM_CONNECTION: ${DB_DIALECT}
TYPEORM_HOST: ${DB_HOST}
TYPEORM_USERNAME: ${DB_USERNAME}
TYPEORM_PASSWORD: ${DB_PASSWORD}
TYPEORM_DATABASE: ${DB_NAME}
TYPEORM_PORT: ${DB_PORT}
TYPEORM_SYNCHRONIZE: ${TYPEORM_SYNCHRONIZE}
TYPEORM_LOGGING: ${TYPEORM_LOGGING}
TYPEORM_ENTITIES: ${TYPEORM_ENTITIES}
# Wait script for db to start
WAIT_SLEEP_INTERVAL: ${WAIT_SLEEP_INTERVAL}
WAIT_HOSTS_TIMEOUT: ${WAIT_HOSTS_TIMEOUT}
WAIT_HOSTS: ${DB_HOST}:${DB_PORT}
ports: #HOST:CONTAINER
- ${JOB_APP_PORT}:${JOB_APP_PORT}
depends_on:
- ${DB_HOST}
### Authentication Server ###
auth_server:
build: ./auth_server
expose:
- ${AUTH_APP_PORT}
environment:
# Application Configurations
APP_ENVIROMENT: ${AUTH_APP_ENVIROMENT}
APP_PORT: ${AUTH_APP_PORT}
# JWT Configuration
JWT_ENCRYPTION: ${AUTH_JWT_ENCRYPTION}
JWT_EXPIRATION: ${AUTH_JWT_EXPIRATION}
# TypeORM(postgress db) configurations
TYPEORM_CONNECTION: ${DB_DIALECT}
TYPEORM_HOST: ${DB_HOST}
TYPEORM_USERNAME: ${DB_USERNAME}
TYPEORM_PASSWORD: ${DB_PASSWORD}
TYPEORM_DATABASE: ${DB_NAME}
TYPEORM_PORT: ${DB_PORT}
TYPEORM_SYNCHRONIZE: ${TYPEORM_SYNCHRONIZE}
TYPEORM_LOGGING: ${TYPEORM_LOGGING}
TYPEORM_ENTITIES: ${TYPEORM_ENTITIES}
# Wait script for db to start
WAIT_SLEEP_INTERVAL: ${WAIT_SLEEP_INTERVAL}
WAIT_HOSTS_TIMEOUT: ${WAIT_HOSTS_TIMEOUT}
WAIT_HOSTS: ${DB_HOST}:${DB_PORT}
ports: #HOST:CONTAINER
- ${AUTH_APP_PORT}:${AUTH_APP_PORT}
depends_on:
- ${DB_HOST}
#### DATABASE ###
postgres:
image: postgres:latest
restart: ${DB_RESTART}
ports:
- ${DB_PORT}:${DB_PORT}
environment:
POSTGRES_DB: ${DB_NAME}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_PASSWORD: ${DB_PASSWORD}
volumes:
- database_data:/var/lib/postgresql/data
- ./database_config/init.sql:/docker-entrypoint-initdb.d/init.sql
adminer:
image: adminer
restart: ${ADMINER_RESTART}
depends_on:
- ${DB_HOST}
ports:
- ${ADMINER_PORT}:${ADMINER_PORT}
### NGINX ###
nginx:
image: nginx:stable-alpine
volumes:
- "/etc/letsencrypt:/etc/letsencrypt"
- "/usr/share/nginx/html:/usr/share/nginx/html"
- "/usr/share/internado_public/html:/usr/share/internado_public/html"
- "/etc/nginx/nginx.conf:/etc/nginx/nginx.conf:ro"
ports:
- 80:80
- 443:443
depends_on:
- auth_server
- job_server
volumes:
database_data:
driver: local