orchard
mirrorEvery site I host, in one repo, along with the Cloudflare Tunnel and Caddy that front them. It's all Go, Vite, and SQLite, and it runs on a desktop at home with nothing listening on an inbound port.
blogbuncaddycloudflare-tunneldockergogolanghomelabhtml-templatemonorepoself-hostedseosqlitestatic-sitetypstuptime-monitoringviteweb-analytics
1{{ define "form" }}
2<div class="auth-eyebrow">bythewood.me</div>
3<h1 class="auth-title">{{ .Title }}</h1>
4
5{{ template "alerts" . }}
6
7<form method="POST" action="/recovery">
8 <input type="hidden" name="next" value="{{ .Next }}">
9 <div class="form-floating">
10 <input type="text" class="form-control" name="code" id="id_recovery"
11 placeholder="xxxx-xxxx-xxxx" required autofocus
12 autocomplete="off" autocapitalize="none" spellcheck="false">
13 <label for="id_recovery">Recovery code</label>
14 </div>
15 <div class="auth-actions">
16 <button type="submit" class="btn btn-primary">Sign in →</button>
17 <a href="/login?next={{ .Next | urlquery }}" class="small link-footer">Back</a>
18 </div>
19</form>
20{{ end }}
21
22{{ define "main" }}{{ template "authShell" . }}{{ end }}