services:
api:
build: .
ports:
- "127.0.0.1:3000:3000"
environment:
BIND_ADDRESS: 0.0.0.0:3000
RUST_LOG: ${RUST_LOG:-info}
REQUEST_TIMEOUT_SECONDS: ${REQUEST_TIMEOUT_SECONDS:-30}
SHUTDOWN_GRACE_SECONDS: ${SHUTDOWN_GRACE_SECONDS:-10}
BODY_LIMIT_BYTES: ${BODY_LIMIT_BYTES:-1048576}
MAX_IN_FLIGHT_REQUESTS: ${MAX_IN_FLIGHT_REQUESTS:-256}
RATE_LIMIT_REQUESTS: ${RATE_LIMIT_REQUESTS:-60}
RATE_LIMIT_WINDOW_SECONDS: ${RATE_LIMIT_WINDOW_SECONDS:-60}
RATE_LIMIT_MAX_CLIENTS: ${RATE_LIMIT_MAX_CLIENTS:-10000}
CORS_ORIGINS: ${CORS_ORIGINS:-}
init: true
read_only: true
tmpfs:
- /tmp:rw,noexec,nosuid,size=16m
cap_drop:
- ALL
security_opt:
- no-new-privileges:true
pids_limit: 128
mem_limit: 512m
cpus: 1.0
stop_grace_period: 15s
restart: unless-stopped