Hey everyone,
I'm a web developer, mostly JS and PHP, about 4 years of experience. A while ago I helped a friend set up the infrastructure for his small IT company and ended up managing the backups there too.
The issue was simple: two servers, and I wanted to manage backups from one place. Backrest was the closest thing I found but it's single-machine, so you get one interface per server. The commercial alternatives felt like overkill. Also, they use Zitadel for SSO on all their internal tools, so OIDC support was a requirement from the start. And since they're working toward ISO 27001, having centralized, auditable backup management wasn't just nice to have.
I didn't find anything that fit, so I built Arkeep.
It's a backup manager with a server/agent model, built on Restic and Rclone. You run one server, deploy agents on the machines you want to back up, and manage everything from a single web UI. Agents connect to the server over gRPC so no ports need to be open on the agent side. It handles Docker volume discovery, pre/post hooks, and streams metrics back in real time.
One thing I want to be upfront about: Go was completely new to me. I had a client that required Go for some backend work, so I used Arkeep as a way to learn the language while building something I actually needed. I used AI a lot to get through it faster. The architecture and the decisions behind it are mine, but I didn't write idiomatic Go from scratch. I know this community has strong opinions on AI-assisted projects right now, so I'd rather say it clearly.
It's been running as a secondary backup system for about a month without issues. Still beta, still rough in places.
What works:
- Server + agent architecture, agents connect out (no open ports needed)
- Restic under the hood, Rclone for destinations Restic doesn't support natively
- Docker volume auto-discovery
- OIDC support
- PWA web UI
- Helm chart (needs more real-world testing)
- SQLite by default, PostgreSQL available
What's missing or not great yet:
- No VM support yet, it's planned
- Dashboard is minimal
- It's beta, bugs are expected
Repo: https://github.com/arkeep-io/arkeep
If you try it, feedback is very welcome. That's really why I'm posting.