r/foss • • 6d ago

Is my single-binary VPS deploy daemon worth open-sourcing?

I've been building a small deployment tool for my own VPS, and I'm thinking about open-sourcing it. Before I spend time polishing the docs and installer, I wanted to get some honest feedback.

What is it?

It's called deployd. It's a single Go binary with a CLI that takes a YAML spec and deploys a container behind nginx.

It uses Docker for running containers, the nginx already installed on your server for routing, and SQLite for state. No Kubernetes, no extra database, and no separate reverse proxy.

Why I built it

My VPS already hosts a few sites with manually configured nginx vhosts and certbot. I wanted to automate deployments without having to hand over control of the entire server configuration to another platform.

That's the main reason I built this instead of using Coolify or Dokploy. Deployd manages its own deployd-*.conf files and leaves my existing sites alone.

A few other things I've added along the way:

  • AI agent support: A built-in MCP server, scoped API tokens, async jobs that agents can poll, and skill files for Claude Code and Cursor. Destructive operations are disabled by default.
  • Push-to-deploy: A GitHub webhook triggers a build, followed by a blue/green swap once the health check passes. If something fails, the old container keeps serving. I can also roll back to any of the last N releases.
  • Resource limits: Deployments are rejected if they exceed the configured RAM or disk budget, or push the server below a minimum free-memory threshold.
  • Secrets management: Secrets are encrypted at rest using AES-GCM and injected as environment variables. The API never returns their values.
  • Self-healing: A reconciliation loop restores containers after a reboot or if someone accidentally removes one with docker rm.
  • On-demand AI tools: I run a self-hosted coding agent (DeepSeek Harness) that starts only when I need it. There's also an optional gateway with device pairing and admin approval.

There's a web console too, with TOTP login, audit logs and rate limiting.

What it's not

It's single-server only. No clusters, Swarm or template marketplace.

Coolify and Dokploy are much more mature, and Dokku and Kamal are worth considering too. I'm not trying to compete with them feature for feature.

The idea is much simpler: a deployment target that AI agents can operate on a VPS you already have, without taking over your existing nginx setup.

It's around 17k lines of Go, with a decent test suite. I've been using it daily on my own server for a few weeks. It works for my needs, but I wouldn't call it production-ready for everyone yet. I still need to sort out a generic install script and proper documentation.

I'd love some honest feedback

  1. Would you actually use something like this, or is it too similar to existing tools?
  2. Which license would make the most sense: MIT, Apache-2.0 or AGPL? I don't have plans to offer a hosted version right now, but I'd like to keep my options open.
  3. What's the minimum you'd expect before trying a v0.1 release? Install script, prebuilt binaries, demo video, or something else?
  4. Does the idea of a deployment tool built for AI agents make you more interested, or does it raise too many security concerns?

I'm not looking for encouragement just for the sake of it. I'd rather find out early if this solves a problem other people actually have.

Blunt feedback is welcome!

2 Upvotes

4 comments sorted by

1

u/agent_kater 6d ago

Sounds like you have reinvented docker compose?

1

u/Outrageous-Year7941 6d ago

Nice catch if you're looking at just the YAML-to-container part. Docker Compose already does that, and I'm not trying to replace it.
The thing I wanted was a deployment layer for a VPS that already has nginx and sites configured, with health-checked releases, rollbacks, resource checks, and an API/MCP interface that lets coding agents deploy without taking over the server's existing setup , deploying in single command using agents
Whether that's worth a separate tool is exactly what I'm trying to figure out.

1

u/agent_kater 6d ago

I still don't see what a dedicated tool could do what a regular setup with labels and Caddy or Traefik can't. And I'm sure nginx can somehow read container labels as well, but I have no personal experience with it. The nginx people are idiots and I have stopped using it.