15130ae4df78f5b16470c4cdc51d2e55b85daaa7
- Pull in @unom/ui (0.8.16) + @unom/style + peers; bump @unom/cms to 0.3.0. - globals.css now provides the full semantic-token contract @unom/ui consumes (primary/accent/background/ring/radius-card/…), expressed with unom's violet brand + Inter/Ubuntu. - Section wraps @unom/ui's Section (in-view animation orchestrator); PostCard, LatestPosts, and the hero use AnimatedCard/AnimatedText/AnimatedButton/Heading. - lib/cms.ts moves to the multi-tenant model (tenant=unom), header/footer as per-tenant collections, + findProjects(). - New Projects section lists this tenant's projects on the landing page (soft-fails to hidden when empty). Starts with punktfunk. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@unom/website
The unom.io marketing site. TanStack Start + Bun, deployed to home-main-2.
Development
bun install
bun run dev
Visit http://localhost:3000.
Production
The repo is built into a container image (git.unom.io/unom/website) by Gitea
Actions on push to main, then deployed via SSH to home-main-2. The
container listens on port 3000 inside the network and is exposed on host port
3200, which Caddy on home-reverse-proxy-1 reverse-proxies for unom.io and
www.unom.io.
Run the production image locally:
docker compose -f compose.production.yml pull
docker compose -f compose.production.yml up -d
Required CI secrets
Set on the unom/website repo in Gitea Actions:
| Secret | Purpose |
|---|---|
REGISTRY_USER / REGISTRY_TOKEN |
Push to git.unom.io container registry |
DEPLOY_HOST / DEPLOY_USER / DEPLOY_PORT / DEPLOY_SSH_KEY |
SSH target on home-main-2 (private key matching the unom-ci-deploy authorized key) |
Description
Languages
TypeScript
80%
CSS
17.5%
Dockerfile
2.5%