# One file, all config. Edit env + flags, then `docker compose up`. services: promptnet: build: . ports: - "8443:8443" # gRPC - "2112:2112" # Prometheus /metrics - "4222:4222" # NATS pub/sub volumes: - promptnet-data:/data # SQLite db persists here # - ./tls:/tls:ro # uncomment to mount TLS material environment: PROMPTNET_TOKEN: "${PROMPTNET_TOKEN:-}" # admin bearer token (blank = auth off) PROMPTNET_EMBED_URL: "${PROMPTNET_EMBED_URL:-}" # blank = offline lexical embedder PROMPTNET_EMBED_MODEL: "${PROMPTNET_EMBED_MODEL:-}" PROMPTNET_EMBED_KEY: "${PROMPTNET_EMBED_KEY:-}" PROMPTNET_REDIS_URL: "${PROMPTNET_REDIS_URL:-}" # blank = in-process cache # All serve flags. Drop the ones you don't need. command: - serve - -addr=:8443 - -db=/data/promptnet.db - -nats-addr=0.0.0.0:4222 - -metrics-addr=:2112 - -cache-ttl=30s - -rate-limit=0 # - -tls-cert=/tls/server.crt # - -tls-key=/tls/server.key # - -client-ca=/tls/ca.crt # enables mTLS # - -tokens-file=/tls/tokens.txt restart: unless-stopped volumes: promptnet-data: