enricobuehler f19457337d
Build & Deploy unom website / build (push) Successful in 19s
Build & Deploy unom website / deploy (push) Successful in 6s
website: switch to typed PayloadCMS SDK via @unom/cms
- Add @payloadcms/sdk + @unom/cms (typed Config) to deps
- .npmrc maps @unom to git.unom.io/api/packages/unom/npm/
- Rewrite src/lib/cms.ts: PayloadSDK<Config> client + typed helpers
  (findPageBySlug, findPostBySlug, findPosts, findFooter, findHeader)
- Re-export the structural types (Page, Post, Footer, Header) plus the
  legacy aliases (RichTextBlock, LexRoot/LexNode, NavigationSection,
  NavigationLink) so existing components keep compiling
- Dockerfile mounts /root/.npmrc as a build secret so bun install can
  pull @unom/cms from the private gitea registry
- deploy.yml stages an .npmrc with REGISTRY_TOKEN auth + passes it as
  the 'npmrc' build secret
- Add blog routes: /blog (list) + /blog/ (detail), PostCard, all
  reading from the CMS via the SDK
- Fix two pre-existing TS errors (@fontsource/inter import, server.tsx
  return type)
2026-05-26 19:10:27 +02:00
2025-05-22 19:10:06 +02:00

@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)
S
Description
No description provided
Readme 3.8 MiB
Languages
TypeScript 80%
CSS 17.5%
Dockerfile 2.5%