-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathdocker-compose.yml
143 lines (132 loc) · 3.58 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
services:
milvus:
image: milvusdb/milvus:v2.4.17
container_name: gurubase-milvus-standalone
command: ["milvus", "run", "standalone"]
security_opt:
- seccomp:unconfined
environment:
ETCD_USE_EMBED: "true"
ETCD_DATA_DIR: /var/lib/milvus/etcd
ETCD_CONFIG_PATH: /milvus/configs/embedEtcd.yaml
COMMON_STORAGETYPE: local
volumes:
- ${HOME}/.gurubase/milvus:/var/lib/milvus
- ${HOME}/.gurubase/config/embedEtcd.yaml:/milvus/configs/embedEtcd.yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9091/healthz"]
interval: 30s
timeout: 20s
retries: 3
start_period: 90s
restart: always
rabbitmq:
image: rabbitmq:3.13.7-alpine
container_name: gurubase-rabbitmq
restart: always
postgres:
image: postgres:16.3-alpine
container_name: gurubase-postgres
env_file:
- ${HOME}/.gurubase/.env
environment:
POSTGRES_DB: gurubase
volumes:
- ${HOME}/.gurubase/postgres:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 5s
timeout: 5s
retries: 5
restart: always
redis:
image: redis:7.2.6-alpine
container_name: gurubase-redis
volumes:
- ${HOME}/.gurubase/redis:/data
restart: always
backend:
image: ddosify/gurubase-backend:0.1.2
container_name: gurubase-backend
command: /workspace/start_scripts/start_app_selfhosted.sh
env_file:
- ${HOME}/.gurubase/.env
volumes:
- ${HOME}/.gurubase/backend_media:/workspace/backend/media
ports:
- "8028:8008"
depends_on:
postgres:
condition: service_started
milvus:
condition: service_started
rabbitmq:
condition: service_started
redis:
condition: service_started
restart: always
pull_policy: always
celery-worker-1:
image: ddosify/gurubase-backend:0.1.2
container_name: gurubase-backend-celery-worker-1
command: /workspace/start_scripts/start_celery_worker.sh
env_file:
- ${HOME}/.gurubase/.env
depends_on:
- backend
restart: always
pull_policy: always
celery-worker-2:
image: ddosify/gurubase-backend:0.1.2
container_name: gurubase-backend-celery-worker-2
command: /workspace/start_scripts/start_celery_worker.sh
env_file:
- ${HOME}/.gurubase/.env
depends_on:
- backend
restart: always
pull_policy: always
celery-worker-3:
image: ddosify/gurubase-backend:0.1.2
container_name: gurubase-backend-celery-worker-3
command: /workspace/start_scripts/start_celery_worker.sh
env_file:
- ${HOME}/.gurubase/.env
depends_on:
- backend
restart: always
pull_policy: always
celery-beat:
image: ddosify/gurubase-backend:0.1.2
container_name: gurubase-backend-celery-beat
command: /workspace/start_scripts/start_celery_beat.sh
env_file:
- ${HOME}/.gurubase/.env
depends_on:
- backend
restart: always
pull_policy: always
frontend:
image: ddosify/gurubase-frontend:0.1.1
container_name: gurubase-frontend
env_file:
- ${HOME}/.gurubase/.env.frontend
depends_on:
- backend
restart: always
pull_policy: always
nginx:
image: nginx:1.23.3-alpine
container_name: gurubase-nginx
volumes:
- ${HOME}/.gurubase/config/nginx.conf:/etc/nginx/conf.d/default.conf
- ${HOME}/.gurubase/backend_media:/django_media_files
ports:
- "8029:8029"
depends_on:
- frontend
- backend
restart: always
networks:
default:
name: gurubase-dc