-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdocker-compose.yaml
More file actions
98 lines (91 loc) · 2.41 KB
/
Copy pathdocker-compose.yaml
File metadata and controls
98 lines (91 loc) · 2.41 KB
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
services:
# 1. Go Controller Microservice (API & Proxy)
controller_v2:
build:
context: .
dockerfile: docker/controller_v2/Dockerfile
ports:
- "8080:8080"
volumes:
- .:/app
- user_data:/mnt/user_data
environment:
DATABASE_URL: "postgresql://root@cockroachdb:26257/defaultdb?sslmode=disable"
APP_ENV: "DEVELOPMENT"
JUPYTER_GATEWAY_URL: "http://jupyter_gateway:8888"
JUPYTER_AUTH_TOKEN: "YOUR_SECRET_TOKEN"
CULL_INTERVAL_MINUTES: 10
IDLE_THRESHOLD_MINUTES: 30
AUTH_GRPC_ADDRESS: "auth:5001"
LLM_MICROSERVICE_URL: "http://host.docker.internal:5004"
VOLPE_SERVICE_URL: "http://host.docker.internal:7070"
USER_DATA_DIR: "/mnt/user_data"
networks:
- evoc-net
depends_on:
cockroachdb:
condition: service_started # Ensure DB is ready
jupyter_gateway:
condition: service_started
minio:
condition: service_started
# 2. Jupyter Kernel Gateway (Manager)
jupyter_gateway:
# CRITICAL CHANGE: Build context points to its own folder.
build:
context: ./docker/jupyter_gateway
dockerfile: Dockerfile
environment:
KG_AUTH_TOKEN: 'YOUR_SECRET_TOKEN'
KG_ALLOW_ORIGIN: '*'
KG_IP: '0.0.0.0'
KG_PORT: 8888
ports:
- "8888:8888"
volumes:
- user_data:/mnt/user_data
networks:
- evoc-net
depends_on:
python_runner:
condition: service_started
# 3. Python Runner (Worker Environment)
python_runner:
build:
context: ./docker/python_runner
dockerfile: Dockerfile
networks:
- evoc-net
# 4. CockroachDB (Database) - Image remains the same
cockroachdb:
image: cockroachdb/cockroach:v22.2.0
hostname: cockroachdb
command: start-single-node --insecure --host=cockroachdb
ports:
- "26257:26257"
- "8081:8081"
volumes:
- cockroach-data:/cockroach/cockroach-data
networks:
- evoc-net
# 5. MinIO (Object Storage)
minio:
image: minio/minio
command: server /data --console-address ":9001"
ports:
- "9000:9000"
- "9001:9001"
environment:
MINIO_ROOT_USER: minio_user
MINIO_ROOT_PASSWORD: minio_password
networks:
- evoc-net
# Define the shared network (Docker DNS)
networks:
evoc-net:
external: true
name: docker_evoc-net
# Define persistent storage volumes
volumes:
cockroach-data:
user_data: