-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
170 lines (159 loc) · 3.31 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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
version: '3'
services:
mongodb:
image: mongo:4.0.8
container_name: notebook-mongodb
profiles:
- db
- mongodb
restart: unless-stopped
environment:
MONGO_INITDB_ROOT_USERNAME: notebook
MONGO_INITDB_ROOT_PASSWORD: notebook
MONGO_INITDB_DATABASE: health-check
MONGODB_DATA_DIR: /data/db
MONDODB_LOG_DIR: /dev/null
volumes:
- mongo_data:/data/db
networks:
- notebook
mongo-express:
image: mongo-express
container_name: notebook-mongodb-express
restart: unless-stopped
profiles:
- db
- mongodb
ports:
- 8081:8081
environment:
ME_CONFIG_OPTIONS_EDITORTHEME: dracula
ME_CONFIG_MONGODB_URL: mongodb://notebook:notebook@mongodb:27017/
depends_on:
- mongodb
networks:
- notebook
postgres:
image: postgres:15
container_name: notebook-postgres
profiles:
- db
- postgres
volumes:
- postgres_data:/var/lib/postgresql/data
- postgres_backup:/backup
environment:
- POSTGRES_DB=notebook
- POSTGRES_USER=notebook
- POSTGRES_PASSWORD=notebook
ports:
- "5434:5432"
networks:
- notebook
pgadmin:
image: dpage/pgadmin4
container_name: notebook_pgadmin
profiles:
- db
- postgres
ports:
- "8082:80"
environment:
- PGADMIN_DEFAULT_PASSWORD=notebook
volumes:
- postgres_admin:/var/lib/pgadmin
depends_on:
- postgres
networks:
- notebook
mysql:
image: mysql:5.6
restart: always
profiles:
- db
- mysql
container_name: notebook_mysql
environment:
- MYSQL_ROOT_PASSWORD=notebook
volumes:
- mysql_data:/var/lib/mysql
networks:
- notebook
mysqladmin:
image: phpmyadmin/phpmyadmin
container_name: notebook_mysqladmin
profiles:
- db
- mysql
ports:
- "8083:80"
environment:
- PMA_ARBITRARY=1
volumes:
- mysql_admin:/etc/phpmyadmin
depends_on:
- mysql
networks:
- notebook
redis:
image: redis/redis-stack-server:latest
container_name: notebook_redis
profiles:
- db
- cache
# Save after 1hr if 1 write, after 5min if 100 writes, after 60 sec if 10000 writes
environment:
- REDIS_ARGS=--save 3600 1 --save 300 100 --save 60 10000
ports:
- 6379:6379
volumes:
- redis_data:/data
networks:
- notebook
redis-ui:
image: rediscommander/redis-commander:latest
container_name: notebook_redis_ui
profiles:
- db
- cache
ports:
- 8084:8081
environment:
- REDIS_HOSTS=local:redis:6379
depends_on:
- redis
networks:
- notebook
notebook:
image: notebook:latest
build: .
container_name: notebook
profiles:
- notebook
volumes:
- .:/home/jovyan/work
ports:
- "8888:8888"
environment:
JUPYTER_ENABLE_LAB: yes
networks:
- notebook
networks:
notebook:
external: true
volumes:
mongo_data:
external: true
postgres_data:
external: true
postgres_backup:
external: true
postgres_admin:
external: true
mysql_data:
external: true
mysql_admin:
external: true
redis_data:
external: true