generic
A batteries-included monorepo for deploying web services to a single server. Terraform for infra, Ansible for provisioning, Kamal for zero-downtime deploys, confit for config.
gh repo create my-project --template krondor-corp/generic
What's included
Everything you need to go from an empty repo to a production deployment on a single DigitalOcean droplet.
Provision
Terraform creates a DigitalOcean droplet, generates SSH keys, and configures DNS records via Cloudflare. State is stored in Terraform Cloud so your infra is versioned and auditable.
Configure
Ansible bootstraps the server with users, SSH hardening, Docker, and a firewall. One command, fully idempotent, tag-selective. Run it once or run it every time — same result.
Deploy
Kamal builds Docker containers from source and deploys with zero-downtime rolling updates behind Traefik. Automatic SSL via Let's Encrypt, no nginx config to manage.
Workflow
From first clone to production in four commands.
Runs terraform apply to provision the droplet, DNS, and SSH keys.
Runs the Ansible playbook to install packages, create users, and harden SSH.
Builds containers and pushes them with zero-downtime rolling deploys via Kamal.
SSH into the droplet using the Terraform-generated key. Debug, tail logs, run one-off commands.
Service stacks
Each stack lives under web/ with its own Makefile, Dockerfile, and dev tooling. Mix and match or use one.
TypeScript
React frontend with a Node.js API. pnpm for package management, turbo for monorepo builds. Vite dev server with HMR.
Live demo →Python
FastAPI backend with TaskIQ workers, Redis queues, and pydantic-ai for structured AI interactions. Includes admin dashboard and SSE streaming.
Live demo →Rust
Axum web server with Askama templates, SQLite, and HTMX. Single binary deployment with zero runtime dependencies.
Live demo →Built and maintained by Krondor Corp. This template is opinionated — it's for small teams that want to ship to a single server and understand every piece of their stack. If you need multi-region, Kubernetes, or managed services, you've outgrown this. That's a good problem to have.