-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathdocker-compose.local-dev.yml
More file actions
74 lines (67 loc) · 2.08 KB
/
Copy pathdocker-compose.local-dev.yml
File metadata and controls
74 lines (67 loc) · 2.08 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
# Copyright 2026 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Local Development Overlay: LangGraph SDK Hot-Reload Posture
# Usage: docker compose -f docker-compose.yml -f docker-compose.local-dev.yml up --build
# Optional Redis checkpointer: --profile with-redis
version: "3.8"
services:
# LangGraph SDK server with hot-reload source mounts
graph-engine:
build:
context: .
dockerfile: deployment/docker/Dockerfile.local-dev
ports:
- "2024:2024"
volumes:
# Hot-reload mounts: changes to source files are reflected immediately
- ./src:/app/src:ro
- ./config:/app/config:ro
- ./policies:/policies:ro
- ./langgraph.json:/app/langgraph.json:ro
env_file:
- config/environments/local-dev.env
extra_hosts:
# Allow container to reach host services at localhost
- "host.docker.internal:host-gateway"
depends_on:
gateway:
condition: service_healthy
opa:
condition: service_healthy
networks:
- cage-network
# Gateway: mount live source for parallel iteration
gateway:
volumes:
- ./src:/app/src
- ./config:/app/config
env_file:
- config/environments/local-dev.env
# Checkpoint store (Redis): gated under profile for optional persistence
checkpoint-store:
image: redis:7.2-alpine
ports:
- "6380:6379"
command: ["redis-server", "--appendonly", "yes"]
volumes:
- checkpoint-data:/data
networks:
- cage-network
profiles:
- with-redis
networks:
cage-network:
driver: bridge
volumes:
checkpoint-data: