-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdocker-compose.yaml
125 lines (125 loc) · 2.76 KB
/
docker-compose.yaml
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
## $ docker-compose up --build
## $ docker-compose down --remove-orphans
version: "2.1"
services:
ui:
build:
context: ./ui
dockerfile: Dockerfile.dev
image: ticketing-system-ui
ports:
- 3000:3000
volumes:
- "./ui:/src/" # enable hot reload
labels:
app: "ticketing-system"
description: "Jira clone"
depends_on:
- api
environment:
CHOKIDAR_USEPOLLING: "true"
REACT_APP_ENV: "docker"
networks:
- default
api:
build:
context: ./api
dockerfile: Dockerfile.dev
image: ticketing-system-api
command: python app.py -c docker run -h 0.0.0.0 --reload
ports:
- 5000:5000
volumes:
- "./api:/src/" # enable hot reload
labels:
app: "ticketing-system"
description: "Jira clone"
environment:
FLASK_ENV: "docker"
# https://testdriven.io/blog/dockerizing-flask-with-postgres-gunicorn-and-nginx/
SQL_HOST: "db" # wait for services
SQL_PORT: "5432" # wait for services
depends_on:
- db
networks:
- default
db:
build:
context: ./db
dockerfile: Dockerfile.dev
image: ticketing-system-db
ports:
- 5432:5432
labels:
app: "ticketing-system"
description: "Jira clone"
volumes:
- postgres_data:/var/lib/postgresql/data/
environment:
POSTGRES_USER: "postgres"
POSTGRES_PASSWORD: "postgres"
# POSTGRES_DB: "default"
networks:
- default
pgadmin:
build:
context: ./pgadmin
dockerfile: Dockerfile.dev
image: ticketing-system-pgadmin
ports:
- 5050:5050
depends_on:
- db
labels:
app: "ticketing-system"
description: "Jira clone"
volumes:
- pgadmin_data:/var/lib/pgadmin/
environment:
PGADMIN_DEFAULT_EMAIL: "admin"
PGADMIN_DEFAULT_PASSWORD: "admin"
PGADMIN_LISTEN_PORT: "5050"
# SCRIPT_NAME: "/pgadmin" # same as X-Script-Name
networks:
- default
grafana:
build:
context: ./grafana
dockerfile: Dockerfile.dev
image: ticketing-system-grafana
ports:
- 3001:3001
depends_on:
- db
labels:
app: "ticketing-system"
description: "Jira clone"
environment:
GF_LOG_LEVEL: "info"
GF_INSTALL_PLUGINS: "grafana-piechart-panel"
volumes:
- "./grafana/dashboards/:/etc/dashboards/"
networks:
- default
proxy:
build:
context: ./proxy
dockerfile: Dockerfile.dev
image: ticketing-system-proxy
ports:
- 8080:80
depends_on:
- ui
- api
- pgadmin
- grafana
labels:
app: "ticketing-system"
description: "Jira clone"
networks:
- default
networks:
default:
volumes:
postgres_data:
pgadmin_data: