DevOps Partner is an open-source MVP for non-developers who can build a website but get stuck on VPS deployment, SSH, reverse proxies, and SSL certificates.
The first sellable version deploys a static site or Node-built static site to an Ubuntu VPS using Caddy for HTTPS.
License: MIT.
Founders, designers, small agencies, and creators often have a finished web project but cannot safely move it from their laptop to a live domain. The confusing parts are SSH, Linux paths, reverse proxy files, SSL certificates, service reloads, and rollback.
DevOps Partner turns that into a guided command:
devops-partner plan ./my-site --host 203.0.113.10 --user deploy --domain example.com --app-name my-site
devops-partner deploy ./my-site --host 203.0.113.10 --user deploy --domain example.com --app-name my-site --approve- Detect a static site with
index.html. - Detect a Node static build when
package.jsonhas abuildscript. - Generate a clear deployment plan before server changes.
- Use SSH key-based access only.
- Deploy files with
rsync. - Configure Caddy to serve the site over HTTPS.
- Write a deployment report.
- Block remote execution unless
--approveis present. - Provide rollback instructions.
- Password-based SSH storage.
- Database deployments.
- Multi-server orchestration.
- Kubernetes.
- Background agent daemon.
- Production changes without approval.
From the product folder:
python -m venv .venv
. .venv/bin/activate
pip install -e .Scan a project:
devops-partner scan ./examples/static-siteCreate a plan without changing the server:
devops-partner plan ./examples/static-site \
--host 203.0.113.10 \
--user deploy \
--domain example.com \
--app-name demo-siteUse the natural-language command without changing the server:
devops-partner ask "Deploy this site to my VPS and secure it with SSL" ./examples/static-site \
--host 203.0.113.10 \
--user deploy \
--domain example.com \
--app-name demo-siteGenerate deterministic JSON commands for another agent or review workflow:
devops-partner json-commands \
--domain mydomain.com \
--web-root /var/www/mydomain.com \
--caddyfile /etc/caddy/CaddyfileThis prints only a JSON array of command objects. It does not execute them.
Execute only after reviewing the generated plan:
devops-partner deploy ./examples/static-site \
--host 203.0.113.10 \
--user deploy \
--domain example.com \
--app-name demo-site \
--approve- Ubuntu VPS.
- SSH key access configured.
- Domain DNS already points to the VPS.
- Caddy installed and running.
- Ports
80and443open. rsyncavailable locally and remotely.
This agent is designed for clean, vanilla Ubuntu/Debian VPS instances such as a fresh DigitalOcean Droplet, Hetzner Cloud server, Linode instance, or similar unmanaged VPS.
Do not run it against shared hosting or servers already managed by control panels such as cPanel, Plesk, RunCloud, CyberPanel, or similar products unless you understand the existing web server layout. Those systems may already control ports 80 and 443, and replacing web server configuration can cause conflicts.
- The product never stores SSH passwords.
- The product does not store private keys.
- The product prints a full plan before server changes.
- Remote execution is blocked unless
--approveis provided. - Caddy configuration is overwritten intentionally, not appended, to avoid duplicate site blocks.
- Existing Caddy configuration is backed up before overwrite and restored if validation fails.
- Reports are ignored by Git because they may contain buyer infrastructure details.
- Rollback uses a symlink switch to the previous release.
Title: DevOps Partner Agent
Positioning: A junior DevOps assistant for non-developers launching websites on their own VPS.
Primary buyer: solo founder, designer, freelancer, agency operator, course creator, or small business owner.
Practical outcome: launch a static website on a real domain with HTTPS and a rollback path.
Suggested MVP price: $29 to $49.
Reason: it saves a buyer multiple hours of server setup confusion and reduces the risk of misconfigured SSL or broken deployment commands.
If SSH fails, confirm:
- VPS IP is correct.
- SSH user exists.
- Public key is installed in
~/.ssh/authorized_keyson the VPS. - SSH port is correct.
If HTTPS fails, confirm:
- Domain DNS points to the VPS.
- Ports
80and443are open. - Caddy is installed and running.
If deployment fails during rsync, confirm:
rsyncis installed locally and on the VPS.- The SSH user has permission to write to the configured target path or can use the documented sudo setup.
- MIT license included.
- Contribution and security files included.
- No private keys or tokens included.
- No buyer-specific infrastructure committed.
- Reports ignored by Git.
- Clear install instructions included.
- Static-site example included.
- Plan-first approval flow verified.
- Tests passing.
