@@ -2,28 +2,33 @@ version: '3.5'
2
2
services :
3
3
api :
4
4
build : ./
5
+ hostname : todo-api
5
6
volumes :
6
7
- ./:/usr/src/app/
7
8
ports :
8
9
- 8000:8000
9
10
environment :
10
- DATABASE_URL : " postgresql://todo-user:todo-password@database /todo"
11
+ DATABASE_URL : " postgresql://todo-user:todo-password@todo-db /todo"
11
12
HOST : " 0.0.0.0"
12
13
PORT : 8000
13
14
FLASK_DEBUG : 1
14
15
depends_on :
15
16
- database
16
17
- db-upgrade-migration
18
+ networks :
19
+ - todo-network
17
20
18
21
db-upgrade-migration :
19
22
build : ./
20
23
container_name : db-upgrade-migration
21
24
volumes :
22
25
- ./:/usr/src/app/
23
26
environment :
24
- DATABASE_URL : " postgresql://todo-user:todo-password@database /todo"
27
+ DATABASE_URL : " postgresql://todo-user:todo-password@todo-db /todo"
25
28
FLASK_APP : /usr/src/app/run-db-migrations.py
26
29
command : sh -c "flask db upgrade"
30
+ networks :
31
+ - todo-network
27
32
depends_on :
28
33
- db-generate-migration
29
34
@@ -33,16 +38,19 @@ services:
33
38
volumes :
34
39
- ./:/usr/src/app/
35
40
environment :
36
- DATABASE_URL : " postgresql://todo-user:todo-password@database /todo"
41
+ DATABASE_URL : " postgresql://todo-user:todo-password@todo-db /todo"
37
42
FLASK_APP : /usr/src/app/run-db-migrations.py
38
43
command : sh -c "flask db migrate -m "generating a new migration""
44
+ networks :
45
+ - todo-network
39
46
depends_on :
40
47
database :
41
48
condition : service_healthy
42
49
43
50
database :
44
51
image : postgres:15.2-alpine
45
- container_name : database
52
+ hostname : todo-db
53
+ container_name : todo-db
46
54
environment :
47
55
POSTGRES_PASSWORD : todo-password
48
56
POSTGRES_USER : todo-user
@@ -58,3 +66,28 @@ services:
58
66
interval : 5s
59
67
timeout : 5s
60
68
retries : 2
69
+ volumes :
70
+ - postgres-data:/var/lib/postgresql/data
71
+ networks :
72
+ - todo-network
73
+
74
+ pgadmin :
75
+ image : dpage/pgadmin4:7.4
76
+ restart : always
77
+ environment :
78
+ PGADMIN_DEFAULT_EMAIL :
' [email protected] '
79
+ PGADMIN_DEFAULT_PASSWORD : ' admin-ti'
80
+ ports :
81
+ - 7070:80
82
+ volumes :
83
+ - pgadmin-data:/var/lib/pgadmin
84
+ networks :
85
+ - todo-network
86
+
87
+
88
+ volumes :
89
+ pgadmin-data :
90
+ postgres-data :
91
+
92
+ networks :
93
+ todo-network:
0 commit comments