feat: Next 16 + Payload 3 scaffold with Kaniko CI and Swarm deploy #1

Merged
jason.woltje merged 3 commits from feat/scaffold into main 2026-04-14 03:21:18 +00:00
Owner

Summary

  • Scaffold Payload 3.82 CMS integrated with Next 16.2 App Router (standalone output), PostgreSQL 17, Lexical editor, Tailwind 3 with M3 tokens ported from the stitch technical-editorial design.
  • 7 collections + 6 globals modelling docs/PRD.md content; admin at /admin, REST/GraphQL at /api/*, /api/health returns build SHA/REV.
  • Multi-stage Dockerfile (non-root standalone runner), Woodpecker pipeline (lint/typecheck/build/audit/Kaniko/Trivy/link-package), and Swarm compose mirroring the mosaic-stack-website Traefik entrypoints=web pattern.

Test plan

  • CI: install, lint, typecheck, build green
  • CI: security-audit + security-trivy clean
  • CI: Kaniko publishes sha- + latest to git.mosaicstack.dev
  • CI: link-package returns 201/204/400
  • Post-merge: Portainer stack deploys on w-docker0 (blocked on ESC-01 edge TLS for jasonwoltje.com)

🤖 Generated with Claude Code

## Summary - Scaffold Payload 3.82 CMS integrated with Next 16.2 App Router (standalone output), PostgreSQL 17, Lexical editor, Tailwind 3 with M3 tokens ported from the stitch technical-editorial design. - 7 collections + 6 globals modelling docs/PRD.md content; admin at /admin, REST/GraphQL at /api/*, /api/health returns build SHA/REV. - Multi-stage Dockerfile (non-root standalone runner), Woodpecker pipeline (lint/typecheck/build/audit/Kaniko/Trivy/link-package), and Swarm compose mirroring the mosaic-stack-website Traefik entrypoints=web pattern. ## Test plan - [ ] CI: install, lint, typecheck, build green - [ ] CI: security-audit + security-trivy clean - [ ] CI: Kaniko publishes sha-<short> + latest to git.mosaicstack.dev - [ ] CI: link-package returns 201/204/400 - [ ] Post-merge: Portainer stack deploys on w-docker0 (blocked on ESC-01 edge TLS for jasonwoltje.com) 🤖 Generated with [Claude Code](https://claude.com/claude-code)
jason.woltje added 1 commit 2026-04-14 02:18:28 +00:00
Initial app scaffold wired end-to-end: Payload 3.82 CMS integrated with Next
16.2 App Router (standalone output), PostgreSQL 17 adapter, Lexical rich text,
Tailwind 3 with Material 3 token palette ported from the stitch technical-
editorial design, self-hosted Space Grotesk + Inter via next/font, and
lucide-react icons. Admin lives at /admin, REST/GraphQL at /api/*, and
/api/health returns build SHA/REV for deploy verification.

Seven collections (Users, Media, Categories, Projects, Posts, Gear,
ContactSubmissions) and six globals (Home, About, Contact, Resume,
Navigation, SEO) model the content outlined in docs/PRD.md.

Multi-stage Dockerfile builds a non-root standalone runner; Woodpecker
pipeline lints, typechecks, builds, audits, builds with Kaniko to
git.mosaicstack.dev, scans with Trivy, and links the package. Swarm
compose mirrors the mosaic-stack-website Traefik entrypoints=web pattern
with www->apex redirect and immutable WEB_IMAGE_TAG.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
jason.woltje added 1 commit 2026-04-14 02:49:34 +00:00
jason.woltje added 1 commit 2026-04-14 02:50:41 +00:00
ci: retrigger pipeline with default config discovery
All checks were successful
ci/woodpecker/push/web Pipeline was successful
ci/woodpecker/pr/web Pipeline was successful
d5c3145440
jason.woltje merged commit 8c5a25e976 into main 2026-04-14 03:21:18 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: jason.woltje/professional-website#1