-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
85 lines (72 loc) · 1.8 KB
/
docker-compose.yml
File metadata and controls
85 lines (72 loc) · 1.8 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
version: '3.8'
services:
agentpipe:
build:
context: .
dockerfile: Dockerfile
args:
VERSION: ${VERSION:-dev}
COMMIT: ${COMMIT:-unknown}
image: agentpipe:latest
container_name: agentpipe
# Mount configuration and logs
volumes:
# Mount local config
- ./examples:/home/agentpipe/examples:ro
# Mount custom config if exists
- ./config.yaml:/home/agentpipe/config.yaml:ro
# Persist logs
- agentpipe-logs:/home/agentpipe/.agentpipe/chats
# Environment variables
environment:
- AGENTPIPE_LOG_DIR=/home/agentpipe/.agentpipe/chats
- AGENTPIPE_CONFIG=/home/agentpipe/config.yaml
# Agent API keys (pass through from host)
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-}
- GOOGLE_API_KEY=${GOOGLE_API_KEY:-}
- OPENAI_API_KEY=${OPENAI_API_KEY:-}
# Command to run
command: ["run", "-c", "/home/agentpipe/config.yaml"]
# Restart policy
restart: unless-stopped
# Resource limits
deploy:
resources:
limits:
cpus: '2.0'
memory: 1G
reservations:
cpus: '0.5'
memory: 256M
# Logging
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
# Development service with hot reload
agentpipe-dev:
build:
context: .
dockerfile: Dockerfile.dev
args:
VERSION: dev
image: agentpipe:dev
container_name: agentpipe-dev
profiles:
- dev
volumes:
# Mount source code for development
- .:/app
- go-cache:/go/pkg/mod
environment:
- CGO_ENABLED=0
- GOOS=linux
- GOARCH=amd64
command: ["go", "run", ".", "--help"]
working_dir: /app
volumes:
agentpipe-logs:
driver: local
go-cache:
driver: local