-
Notifications
You must be signed in to change notification settings - Fork 39
Expand file tree
/
Copy pathdocker-compose.dev.yml
More file actions
133 lines (126 loc) · 3.99 KB
/
Copy pathdocker-compose.dev.yml
File metadata and controls
133 lines (126 loc) · 3.99 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
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
volumes:
langgraph-data:
driver: local
giga-agent-data:
driver: local
networks:
giga-agent-net:
name: ${GIGA_AGENT_DOCKER_NETWORK:-giga-agent-net-dev}
services:
nginx:
build:
context: .
dockerfile: deployments/local/Dockerfile.frontend-nginx
args:
VITE_MCP_PROXY_URL: /proxy
VITE_LOG_LEVEL: debug
environment:
GIGA_AGENT_BASE_URL: ${GIGA_AGENT_BASE_URL:-/}
GIGA_AGENT_PUBLIC_BASE_DOMAIN: ${GIGA_AGENT_PUBLIC_BASE_DOMAIN:-}
depends_on:
giga-agent:
condition: service_started
networks:
- giga-agent-net
ports:
- "8123:80"
langgraph-redis:
image: redis:6
networks:
- giga-agent-net
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 5s
timeout: 1s
retries: 5
langgraph-postgres:
image: postgres:16
networks:
- giga-agent-net
environment:
POSTGRES_DB: aegra
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
volumes:
- langgraph-data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
start_period: 10s
timeout: 1s
retries: 5
interval: 5s
giga-agent-postgres:
image: postgres:16
networks:
- giga-agent-net
environment:
POSTGRES_DB: postgres
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
volumes:
- giga-agent-data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
start_period: 10s
timeout: 1s
retries: 5
interval: 5s
qdrant:
image: qdrant/qdrant
networks:
- giga-agent-net
volumes:
- ./qdrant_storage:/qdrant/storage
giga-agent:
build:
context: .
dockerfile: deployments/local/Dockerfile
depends_on:
langgraph-redis:
condition: service_healthy
langgraph-postgres:
condition: service_healthy
giga-agent-postgres:
condition: service_healthy
networks:
- giga-agent-net
env_file:
- ./.env
- path: ./.env.giga_agent
required: false
environment:
MEM0_DIR: /tmp/.mem0
# JSON logs so Promtail/Loki can `| json`-parse structured fields in dev.
GIGA_AGENT_LOG_JSON: "1"
# Our custom giga_* metrics recording (MetricsMiddleware).
GIGA_AGENT_METRICS_ENABLED: "1"
# aegra's instrumentator: HTTP RED + the /metrics endpoint (also serves
# our giga_* via the shared global registry). Same lib as ours — enabling
# both would duplicate metric names, so we rely on aegra's only.
ENABLE_PROMETHEUS_METRICS: "true"
# Use the mounted backend sources in dev.
PYTHONPATH: /app/backend
AEGRA_CONFIG: /app/backend/langgraph.json
REDIS_BROKER_ENABLED: true
AUTH_TYPE: custom
GIGA_AGENT_UI: "0"
GIGA_AGENT_DOCKER_NETWORK: ${GIGA_AGENT_DOCKER_NETWORK:-giga-agent-net-dev}
REDIS_URI: redis://langgraph-redis:6379
REDIS_URL: redis://langgraph-redis:6379
POSTGRES_URI: postgres://postgres:postgres@langgraph-postgres:5432/aegra?sslmode=disable
DATABASE_URL: postgresql+asyncpg://postgres:postgres@langgraph-postgres:5432/aegra
GIGA_AGENT_DATABASE_URL: postgresql+asyncpg://postgres:postgres@giga-agent-postgres:5432/postgres
QDRANT_URL: http://qdrant:6333
GIGA_AGENT_LANGGRAPH_API_URL: http://giga-agent:8000
DOCKER_HOST: unix:///var/run/docker.sock
GIGA_AGENT_SECRET_KEY: 123 # <- Only for dev setup
GIGA_AGENT_PROJECT_ROOT: /.giga_agent
GIGA_AGENT_HOST_PROJECT_PATH: /Users/mikelarg/PycharmProjects/giga_agent
GIGA_AGENT_PUBLIC_BASE_DOMAIN: ${GIGA_AGENT_PUBLIC_BASE_DOMAIN:-}
working_dir: /app/backend
volumes:
- ./backend:/app/backend
- ./deployments/aegra-startup.sh:/app/deployments/aegra-startup.sh:ro
- /var/run/docker.sock:/var/run/docker.sock
- ./.giga_agent:/.giga_agent
command: ["sh", "/app/deployments/aegra-startup.sh", "--reload", "--reload-dir", "/app/backend"]