Repository navigation
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
66 lines (63 loc) · 1.87 KB
/
Copy pathdocker-compose.yml
File metadata and controls
66 lines (63 loc) · 1.87 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
services:
mock-erp:
image: ${MOCK_ERP_IMAGE:-ghcr.io/nmdra/mockerp:0.2.1}
ports:
- "${MOCK_ERP_HOST_PORT:-8081}:8081"
environment:
- LOG_LEVEL=debug
- MOCK_ERP_DB_PATH=/data/mockerp.db
- MOCK_ERP_CREDENTIALS_JSON=${MOCK_ERP_CREDENTIALS_JSON:-}
- MOCK_ERP_CREDENTIALS_FILE=${MOCK_ERP_CREDENTIALS_FILE:-}
volumes:
- mockerp-data:/data
healthcheck:
test:
[
"CMD",
"python3",
"-c",
"import urllib.request; urllib.request.urlopen('http://localhost:8081/health').read()",
]
interval: 5s
timeout: 5s
retries: 5
redis:
image: redis/redis-stack:7.2.0-v9
ports:
- "${REDIS_HOST_PORT:-6379}:6379"
- "${REDIS_INSIGHT_BIND_ADDRESS:-127.0.0.1}:${REDIS_INSIGHT_HOST_PORT:-8001}:8001" # RedisInsight — local-only by default
volumes:
- redis-data:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
retries: 3
erpbridge-server:
build:
context: .
dockerfile: Dockerfile.server.local
ports:
- "${ERPBRIDGE_HOST_PORT:-8080}:8080"
environment:
- BASE_URL=http://localhost:8080
- ERP_BASE_URL=http://mock-erp:8081
- REDIS_URL=redis://redis:6379
- DATABASE_PATH=/app/data/erpbridge.db
- ERP_PRIMARY_KEY=${ERP_PRIMARY_KEY:-}
# make dev-up opts in; direct and production-like Compose runs default off.
- MCP_ENABLE_TEST_TOOLS=${MCP_ENABLE_TEST_TOOLS:-false}
# MockERP is HTTP only and is an explicit development-only exception.
- INSECURE_AUTH_ALLOWED_HOSTS=mock-erp:8081
- RATE_LIMIT_RPS=10
- RATE_LIMIT_BURST=20
volumes:
- erpbridge-data:/app/data
depends_on:
mock-erp:
condition: service_healthy
redis:
condition: service_healthy
volumes:
mockerp-data:
redis-data:
erpbridge-data: