Millau – self-configuring ingress proxy for Docker Swarm
Millau – self-configuring ingress proxy for Docker Swarm
I still use Docker Swarm. It's simple, fast to set up, and easy to teach. But I got tired of managing routing to microservices. Nginx and HAProxy need config redeploys, Traefik is powerful, but its configuration via labels quickly becomes unmaintainable. So I built Millau — a free ingress proxy and load balancer for Docker Swarm microservices. Add a few labels to the service, and traffic gets routed. No proxy restarts, no config files. Example: ``` # service deploy: labels: - "millau.enabled=true" - "millau.port=9000" ``` Millau listens to Docker events, discovers labeled services, and routes traffic using host and path matching. Unlike Traefik, Millau supports load balancing across services. I use it to deploy different versions e.g. Blue, Green, Red of the same microservice. If Red crashes, Millau routes to Blue or Green. If Blue slows down, Millau marks it inactive for 60s and routes to Green. Millau supports TLS termination and mTLS. It exposes Prometheus metrics and ships with a prebuilt Grafana dashboard. It's in production, serving its own site and several side projects. Let me know what you think, especially if you're still using Docker ecosystem in prod. Thanks.
Share cardActual performance
Launch Intel predictions
Analyze your own launch →Correct prediction on native model
Similar products
Docker Swarm Multi Tenant Proxy
Dynamically resizable Docker Swarm cluster
Quickstart for FaaS on Docker Swarm (PoC)
Docker CLI Plugin: Docker-swarm-proxy exec into a Docker service
Standard ingress proxy and load balancer for Docker Swarm
Control GPIO on RPi with Docker Swarm
Inofficial Docker Swarm Support for OpenFaaS
Functions as a Service (FaaS) on Docker Swarm
Docker swarm service autoscaler
Jaas 0.3 released – jobs for Docker Swarm