-
Notifications
You must be signed in to change notification settings - Fork 1
/
docker-compose.yaml
132 lines (122 loc) · 3.31 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
126
127
128
129
130
131
132
version: "3.9"
services:
server:
image: ${GITHUB_CONTAINER_REPO_SERVER}:${APP_VERSION}
container_name: ${PROJECT_NAME}-server
hostname: server
restart: unless-stopped
stop_grace_period: 10s
env_file: .env
build:
context: server
args:
PYTHON_TAG: $PYTHON_TAG
PYTHON_POETRY_VERSION: $PYTHON_POETRY_VERSION
environment:
ELASTICSEARCH_HOST: $ELASTICSEARCH_HOST
POSTGRES_DB_URL: $POSTGRES_DB_URL
REDIS_INTERNAL_HOST: $REDIS_INTERNAL_HOST
REDIS_INTERNAL_PORT: $REDIS_INTERNAL_PORT
ports:
- ${SERVER_PORT}:3000
client:
image: ${GITHUB_CONTAINER_REPO_CLIENT}:${APP_VERSION}
container_name: ${PROJECT_NAME}-client
hostname: client
restart: unless-stopped
stop_grace_period: 10s
env_file: .env
build:
context: client
args:
NODE_TAG: $NODE_TAG
NGINX_TAG: $NGINX_TAG
ports:
- ${CLIENT_PORT}:80
postgres:
image: postgres:${POSTGRES_TAG}
container_name: ${PROJECT_NAME}-postgres
hostname: postgres
restart: unless-stopped
stop_grace_period: 10s
env_file: .env
environment:
POSTGRES_PASSWORD: $DB_PASSWORD
POSTGRES_DB: $DB_NAME
POSTGRES_USER: $DB_USER
ports:
- ${DB_PORT}:5432
volumes:
- ./sql/init.sql:/docker-entrypoint-initdb.d/init.sql
- postgres-data:/var/lib/postgresql/data
redis:
image: redis:${REDIS_TAG}
container_name: ${PROJECT_NAME}-redis
hostname: redis
restart: always
stop_grace_period: 10s
ports:
- ${REDIS_PORT}:6379
cloudbeaver:
image: dbeaver/cloudbeaver:${CLOUDBEAVER_TAG}
container_name: ${PROJECT_NAME}-cloudbeaver
hostname: cloudbeaver
restart: always
stop_grace_period: 10s
ports:
- ${CLOUDBEAVER_PORT}:8978
volumes:
- cloudbeaver-data:/opt/cloudbeaver/workspace
elasticsearch:
image: elasticsearch:${ELASTICSEARCH_TAG}
container_name: ${PROJECT_NAME}-elasticsearch
hostname: elasticsearch
restart: always
stop_grace_period: 10s
environment:
discovery.type: single-node
ES_JAVA_OPTS: -Xms1g -Xmx1g
xpack.security.enabled: false
volumes:
- elasticsearch-data:/usr/share/elasticsearch/data
ports:
- ${ELASTICSEARCH_PORT}:9200
metabase:
image: metabase/metabase:${METABASE_TAG}
container_name: ${PROJECT_NAME}-metabase
hostname: metabase
restart: unless-stopped
stop_grace_period: 10s
env_file: .env
environment:
MB_DB_TYPE: postgres
MB_DB_HOST: postgres
MB_DB_PORT: 5432
MB_DB_PASS: $DB_PASSWORD
MB_DB_DBNAME: $DB_NAME
MB_DB_USER: $DB_USER
MB_DB_FILE: /metabase-data/metabase.db
ports:
- ${METABASE_PORT}:3000
volumes:
- metabase-data:/metabase-data
depends_on:
- postgres
adminer:
image: adminer:${ADMINER_TAG}
container_name: ${PROJECT_NAME}-adminer
hostname: adminer
restart: unless-stopped
stop_grace_period: 10s
env_file: .env
ports:
- ${ADMINER_PORT}:8080
networks:
default:
name: $PROJECT_NAME
driver: bridge
volumes:
postgres-data: {}
cloudbeaver-data: {}
elasticsearch-data: {}
metabase-data: {}