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
version: '3.8'
services:
maple-proxy:
build:
context: .
dockerfile: Dockerfile
cache_from:
- maple-proxy:builder
- maple-proxy:latest
image: maple-proxy:latest
container_name: maple-proxy
ports:
- "${MAPLE_PORT:-8080}:8080"
environment:
# Server configuration
- MAPLE_HOST=0.0.0.0
- MAPLE_PORT=8080
# Backend configuration (defaults to production)
- MAPLE_BACKEND_URL=${MAPLE_BACKEND_URL:-https://enclave.trymaple.ai}
# Authentication - Uncomment ONLY for private/internal deployments!
# For public deployments: Keep this commented out - clients will pass their own API keys
# - MAPLE_API_KEY=${MAPLE_API_KEY}
# Optional configurations
- MAPLE_DEBUG=${MAPLE_DEBUG:-false}
- MAPLE_ENABLE_CORS=${MAPLE_ENABLE_CORS:-true}
- RUST_LOG=${RUST_LOG:-info}
# Production-grade restart policy
restart: unless-stopped
# Health monitoring
healthcheck:
test:
interval: 30s
timeout: 3s
retries: 3
start_period: 5s
# Resource limits (adjust based on your needs)
deploy:
resources:
limits:
cpus: '2'
memory: 512M
reservations:
cpus: '0.5'
memory: 128M
# Logging configuration
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
networks:
- maple-network
networks:
maple-network:
driver: bridge