-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdocker-compose.yaml
151 lines (140 loc) · 3.22 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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
version: "3.7"
services:
nxa-postgres:
image: postgres:15.3-alpine
restart: always
container_name: nxa-postgres
ports:
- 5432:5432
env_file:
- ./postgres.env
volumes:
- nxa-postgres-data:/var/lib/postgresql/data
networks:
- nxa-network
nxa-clickhouse-db:
container_name: nxa-olap-clickhouse-server
restart: always
image: clickhouse/clickhouse-server:23.3.8.21-alpine
healthcheck:
test: apt update -y && apt install curl -y && echo 'SELECT 1' | curl 'http://localhost:8123/' --data-binary @-
interval: 5s
timeout: 5s
retries: 10
ulimits:
nofile:
soft: 262144
hard: 262144
env_file:
- ./clickhouse.env
ports:
- 9000:9000
- 8123:8123
volumes:
- nxa-clickhouse-data:/var/lib/clickhouse
- nxa-clickhouse-logs:/var/log/clickhouse-server
networks:
- nxa-network
numexa-auth:
container_name: numexa-auth
restart: always
image: numexa-auth:dev
build:
context: .
dockerfile: ./auth/Dockerfile
env_file:
- ./numexa.env
- ./clickhouse.env
ports:
- 8080:8080
depends_on:
- nxa-postgres
networks:
- nxa-network
nxa-monger:
container_name: nxa-monger
restart: always
image: numexa-monger:dev
build:
context: .
dockerfile: ./monger-proxy/Dockerfile
env_file:
- ./numexa.env
- ./clickhouse.env
ports:
- 8081:8081
depends_on:
- nxa-postgres
- nxa-clickhouse-db
networks:
- nxa-network
nxa-vibe:
container_name: nxa-vibe
restart: always
image: numexa-vibe:dev
build:
context: .
dockerfile: ./vibe/Dockerfile
env_file:
- ./numexa.env
- ./clickhouse.env
ports:
- 8082:8082
depends_on:
- nxa-clickhouse-db
networks:
- nxa-network
nxa-ui:
container_name: nxa-ui
restart: always
image: numexa-ui:dev
env_file:
- ./numexa.env
ports:
- 3000:3000
depends_on:
- nxa-monger
- nxa-vibe
networks:
- nxa-network
numexa-cache:
container_name: nxa-cache
restart: always
image: gpt-cache:dev
ports:
- 8000:8000
networks:
- nxa-network
nginx:
container_name: nginx
restart: always
image: nginx:1.21.3-alpine
ports:
- 80:80
- 443:443
volumes:
- ./.nginx/conf/:/etc/nginx/conf.d/:ro
- ./certbot/www:/var/www/certbot/:ro
- ./certbot/conf/:/etc/nginx/ssl/:ro
depends_on:
- numexa-auth
- nxa-ui
networks:
- nxa-network
certbot:
container_name: certbot
image: certbot/certbot
volumes:
- ./certbot/www/:/var/www/certbot/:rw
- ./certbot/conf/:/etc/letsencrypt/:rw
# command: certonly --webroot --webroot-path=/var/www/certbot --email [email protected] --agree-tos --no-eff-email --staging --force-renewal -d numexa.io
networks:
nxa-network:
driver: bridge
volumes:
nxa-postgres-data:
driver: local
nxa-clickhouse-data:
driver: local
nxa-clickhouse-logs:
driver: local