A minimalist self-hosted CI/CD orchestrator with a pipeline graph that actually fits on one screen. Built for teams that find Jenkins too heavy and GitHub Actions too opaque.
DeployFlow turns a YAML pipeline definition into a live, click-through graph. Every run, every stage, every step is visible at a glance - including the one that is still running, the one that failed, and the one waiting for human approval. Built-in DORA metrics show whether the team is actually shipping faster.
- Visual pipeline graph - stages render left-to-right with live status, ETA, and per-step timing
- YAML-first - pipelines defined in
.deployflow.ymlnext to your code; PR-reviewable - Multi-environment promotion - promote
staging -> productionwith one click, manual approval gates - Rolling, blue/green, canary - built-in deployment strategies for Docker Swarm and Kubernetes
- Run history - full audit of every deploy, with commit, author, duration, status
- DORA metrics - deploy frequency, lead time, change-fail rate, MTTR scored per service
- Approval workflows - required reviewers, signed approvals, audit-logged
- Secret management - encrypted-at-rest, scoped per pipeline, masked in logs
- Notification fan-out - release notes auto-posted to Telegram, Slack, Mattermost, email
- Concurrency control - lane-based queues prevent stepping on your own deploys
- Self-hosted runners - ephemeral Docker containers or persistent VMs; auto-scaled
- Trivy / Hadolint integration - container scan + Dockerfile lint as native steps
name: oem-dashboard
on: [push.main, manual]
stages:
- lint: [eslint, prettier, tsc]
- test: { run: [unit, integration], coverage: 80 }
- build: { docker: [backend, frontend], scan: trivy, push: registry }
- deploy: { target: production, strategy: rolling, replicas: 2 }
- smoke: { run: e2e, on_fail: rollback }| Layer | Technology |
|---|---|
| Frontend | React + Vite, Tailwind, real-time SSE updates |
| Backend | Go (Echo), embedded BoltDB or Postgres |
| Runner | Docker-in-Docker, optional self-hosted via SSH |
| Delivery | Single binary, ~22 MB, runs anywhere |
docker run -d \
--name deployflow \
-p 8090:8090 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v deployflow_data:/var/lib/deployflow \
behruzops/deployflow:latestUsed in production by small engineering teams. MIT-licensed core, paid add-ons for SSO and audit-export.
Behruz Shuxratov - DevOps engineer, Tashkent. Freelance: CI/CD setup, container build pipelines, release automation for small teams.
- Email: behruzshuxratov58@gmail.com
- GitHub: @behruzops
