Skip to content

Tutorial: build a full project

This tutorial is the long-form companion to the per-topic guides. Instead of showing each feature in isolation, it walks through one realistic shape — a small app deployed to a single DigitalOcean droplet — and wires every piece together: Terraform, the runeset, secrets, CI/CD, DNS.

When you finish you’ll have:

  • A repo with an infra/ directory holding all deployable state.
  • A Rune server running on a DigitalOcean droplet behind a Reserved IP.
  • A runeset of services + configmaps + secrets that deploys with one rune cast.
  • A GitHub Actions workflow that builds your Docker images and casts on every push.
  • A real HTTPS endpoint with an auto-issued Let’s Encrypt certificate.

The whole tutorial takes ~45 minutes if you’re following along. Pick a project name and a domain you control before you start.

#PartWhat you’ll do
1Project layoutDecide the repo structure so every later step has a home.
2Provision with TerraformSpin up a Rune droplet with a Reserved IP and admin token.
3Author your runesetWrite the casts, configmaps, secrets, and values files.
4Wire up CI/CDAuto-deploy from GitHub Actions on every push to main.
5Deploy & verifyFirst end-to-end deploy, DNS cutover, smoke checks.

Each part is self-contained. If you already have a droplet, skip part 2. If you don’t want CI yet, stop after part 3 and cast from your laptop.

Everything in this tutorial is drawn from a real reference layout — a single app with a Dockerfile, a public web component, and a runeset that deploys it. Use it as a template and adjust component names as you go. We’ll call the project myapp and the domain example.com; substitute your own throughout.


Next: Part 1 — Project layout →