services:
nats:
image: nats:latest
command: ["-js", "-c", "/etc/nats/nats.conf"]
ports:
- "4222:4222"
- "7422:7422"
volumes:
- ./nats.conf:/etc/nats/nats.conf:ro
- nats-data:/data
restart: unless-stopped
leaf:
build:
context: ..
dockerfile: deploy/Dockerfile
command:
- --repo=/data/repo.fossil
- --nats=nats://nats:4222
- --serve-http=:8080
- --serve-nats
- --uv
- --poll=5s
environment:
OTEL_EXPORTER_OTLP_ENDPOINT: "100.64.0.2:4317"
OTEL_EXPORTER_OTLP_INSECURE: "true"
OTEL_SERVICE_NAME: "edgesync-leaf"
EDGESYNC_ENVIRONMENT: "production"
ports:
- "0.0.0.0:9000:8080"
volumes:
- ./data:/data
depends_on:
nats:
condition: service_started
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-sf", "http://localhost:8080/healthz"]
interval: 30s
timeout: 5s
retries: 3
volumes:
nats-data: