I wanted a message broker for a side project without paying for managed Kafka or wrestling with RabbitMQ clustering. NATS was the obvious answer—until I tried wiring up JetStream, token auth, WebSocket for the browser, and Traefik routing on my own. So I packaged the whole thing as a Dokploy Compose template. The Problem Spinning up NATS sounds easy until you actually need it in production: nats.conf syntax is fine, but plumbing env vars through Docker Compose takes trial and error Browser clients need the WebSocket port exposed through a reverse proxy with TLS The monitoring endpoint on port 8222 is wide open by default Every tutorial stops at "it runs locally"—nothing covers a real self-hosted deploy The Solution: dokploy-nats A single Git repo you point Dokploy at. It gives you NATS 2.10 with JetStream, token auth, WebSocket, and a monitoring endpoint—all driven by environment variables, all routed through Traefik.…