I’m Lubos. I’ve been running production workloads on Docker Swarm for years. While the industry pushes Kubernetes for everything, I find Swarm to be the perfect sweet spot for small-to-medium teams who don't need the operational overhead of K8s.
However, Swarm lacks the modern tooling ecosystem. I found myself writing messy bash scripts to handle basic things like secret rotation, image tagging, and multi-environment deployments.
So I built Rollwave to solve this.
It’s a CLI (written in Go) that brings a "PaaS-like" deployment experience to your own servers.
What it solves:
1. Immutable Secrets & Zero Downtime: Native Swarm services cannot easily rotate secrets without downtime. Rollwave implements an Immutable Secret Pattern — it hashes your local secrets, creates versioned secrets in Swarm, and performs a rolling update automatically.
2. Integrated Build Pipeline: It parses your existing docker-compose.yml, builds images, tags them with git hash, pushes them to your registry (handles auth automatically), and deploys.
3. Multi-Environment Support: Deploy to Staging and Production from a single config using simple overrides (rollwave deploy --env staging).
4. Auto-Prune: It automatically cleans up old, unused secret versions after a successful deployment, keeping your cluster clean.
It uses your docker-compose.yml as the single source of truth, so you don't have to rewrite your entire infrastructure definition.
I’d love to hear your feedback—especially from those who still appreciate Swarm's simplicity.
lubbo•1h ago
I’m Lubos. I’ve been running production workloads on Docker Swarm for years. While the industry pushes Kubernetes for everything, I find Swarm to be the perfect sweet spot for small-to-medium teams who don't need the operational overhead of K8s.
However, Swarm lacks the modern tooling ecosystem. I found myself writing messy bash scripts to handle basic things like secret rotation, image tagging, and multi-environment deployments.
So I built Rollwave to solve this.
It’s a CLI (written in Go) that brings a "PaaS-like" deployment experience to your own servers.
What it solves:
1. Immutable Secrets & Zero Downtime: Native Swarm services cannot easily rotate secrets without downtime. Rollwave implements an Immutable Secret Pattern — it hashes your local secrets, creates versioned secrets in Swarm, and performs a rolling update automatically.
2. Integrated Build Pipeline: It parses your existing docker-compose.yml, builds images, tags them with git hash, pushes them to your registry (handles auth automatically), and deploys.
3. Multi-Environment Support: Deploy to Staging and Production from a single config using simple overrides (rollwave deploy --env staging).
4. Auto-Prune: It automatically cleans up old, unused secret versions after a successful deployment, keeping your cluster clean.
It uses your docker-compose.yml as the single source of truth, so you don't have to rewrite your entire infrastructure definition.
I’d love to hear your feedback—especially from those who still appreciate Swarm's simplicity.
Repo: https://github.com/rollwave-dev/rollwave