No description
  • TypeScript 86.4%
  • Dockerfile 9%
  • JavaScript 4.4%
  • CSS 0.2%
Find a file Use this template
2026-09-09 11:42:02 +00:00
.forgejo/workflows fix: keep dollar patterns out of the substitution list 2026-09-07 16:11:56 +02:00
docs docs: describe the scope system 2026-09-08 21:20:41 +02:00
helm Release ae6a15d 2026-09-09 11:42:02 +00:00
public chore: scaffold the next.js app with platform auth installed 2026-09-07 13:45:30 +02:00
src fix(template): evaluate AUTH_DISABLED at request time 2026-09-09 13:04:43 +02:00
tests feat(template): support running without authentik sign-in 2026-09-09 12:41:38 +02:00
.dockerignore feat: add the standalone dockerfile 2026-09-07 13:54:44 +02:00
.editorconfig chore: scaffold the next.js app with platform auth installed 2026-09-07 13:45:30 +02:00
.gitignore chore: scaffold the next.js app with platform auth installed 2026-09-07 13:45:30 +02:00
.npmrc chore: scaffold the next.js app with platform auth installed 2026-09-07 13:45:30 +02:00
.prettierrc chore: scaffold the next.js app with platform auth installed 2026-09-07 13:45:30 +02:00
catalog-info.yaml fix(scaffold): point the catalog link at the rendered host, not the name 2026-09-07 16:37:19 +02:00
Dockerfile feat: add the standalone dockerfile 2026-09-07 13:54:44 +02:00
eslint.config.mjs docs: add the catalog entry, techdocs and the instantiation guide 2026-09-07 14:02:09 +02:00
next.config.ts chore: scaffold the next.js app with platform auth installed 2026-09-07 13:45:30 +02:00
package.json feat(template): support running without authentik sign-in 2026-09-09 12:41:38 +02:00
pnpm-lock.yaml chore(deps): regenerate the lockfile against starter 1.0.3 2026-09-09 13:28:46 +02:00
pnpm-workspace.yaml chore: scaffold the next.js app with platform auth installed 2026-09-07 13:45:30 +02:00
postcss.config.mjs docs: add the catalog entry, techdocs and the instantiation guide 2026-09-07 14:02:09 +02:00
README.md feat(scaffold): use scaffolder placeholders so the backstage form substitutes values 2026-09-07 16:09:13 +02:00
renovate.json chore(renovate): opt into the shared dependency updates 2026-09-09 10:46:03 +02:00
tsconfig.json chore: scaffold the next.js app with platform auth installed 2026-09-07 13:45:30 +02:00
vitest.config.ts docs: teach the instantiated secret name and trim config comments 2026-09-07 14:28:08 +02:00

${{ values.name }}

A Next.js frontend template that, the moment it is instantiated, builds, deploys, logs a real person in through authentik, and calls a backend with a Bearer token — with nothing hand-edited.

The Next.js server is the BFF. @infra/platform-nextjs-starter supplies the Auth.js configuration, the protected-route middleware and apiFetch; this repository supplies a login and logout affordance, a session-aware header and one example page that reads a backend over in-cluster DNS.

  • Stack: Next.js App Router, TypeScript, Tailwind, Auth.js v5, Vitest, Node 22
  • The server holds the tokens. The browser holds an encrypted httpOnly cookie, and useUser() returns a CurrentUser and nothing else.

Develop

pnpm install
pnpm dev   # needs a .env.local: OIDC_ISSUER, OIDC_CLIENT_ID, OIDC_CLIENT_SECRET, AUTH_SECRET, AUTH_URL
pnpm test
pnpm build

Docs

TechDocs renders docs/docs/ (see docs/mkdocs.yml for the nav). The authentik blueprint an instance needs lives at docs/docs/authentik.md.