The product site at radd-hq.com: one static page, served from the cluster as a Caddy image
- HTML 60.3%
- CSS 19.8%
- JavaScript 17.5%
- Dockerfile 2.4%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| assets | ||
| .containerignore | ||
| .gitignore | ||
| Caddyfile.site | ||
| Containerfile | ||
| index.html | ||
| README.md | ||
| robots.txt | ||
| sitemap.xml | ||
radd-hq.com
The product website for Radd: one static page, no build step, no framework.
index.html— the page (hero, pledge, tour, features, SLQ playground, workflows, install, about, contribute)assets/site.css,assets/site.js— styles and the small amount of JS (theme toggle, tabs, copy buttons, the browser-side SLQ subset)assets/media/— screenshots copied from the app repo'sdocs/media/; refresh them when the app's README screenshots changeassets/brand/— icon and favicons copied fromweb/public/brand/
Preview locally
python3 -m http.server 8080
Ship a change
The site runs in the radd-hq.com cluster as a Caddy image (Containerfile +
Caddyfile.site), routed to the apex by site.yaml in the private deployment
repo. Shipping is: build, push, bump the tag.
podman build -t git.radd-hq.com/radd/site:0.2.0 -f Containerfile .
podman run --rm -p 8080:8080 git.radd-hq.com/radd/site:0.2.0 # look at it once
podman login git.radd-hq.com # the Forgejo owner token
podman push git.radd-hq.com/radd/site:0.2.0
Then in the deployment repo edit image: in site.yaml to the new version,
commit, push. CD applies it with a zero-downtime rollout. Rolling back is
editing the tag back.
The package is public on git.radd-hq.com, which is what lets the cluster pull it
with no credential. Versions are immutable and there is no latest tag, so the
tag in site.yaml is the only statement of what is live.