# Authentik Local Bootstrap This directory stores local Authentik bootstrap assets for NODE.DC. ## Current scope The first infra pass runs Authentik from the official Docker Compose shape for the 2026.2 release line: - PostgreSQL 16; - authentik server; - authentik worker; - no Redis service in the current official compose template; - Caddy reverse proxy in front of Authentik and current local apps. ## Bootstrap variables For a first local install, put these variables in `infra/.env`: ```bash AUTHENTIK_BOOTSTRAP_EMAIL=admin@nodedc.local AUTHENTIK_BOOTSTRAP_PASSWORD= AUTHENTIK_BOOTSTRAP_TOKEN= ``` These are read only on first startup. Do not commit `infra/.env`. ## Future blueprint work Later phases should add reproducible configuration for: - NODE.DC Launcher Application/Provider; - NODE.DC Task Manager Application/Provider; - groups and policies; - admin service token scope; - exports or blueprints for repeatable setup. ## NODE.DC branded login `custom-templates/branding/nodedc-login.css` is mounted into Authentik at `/templates/branding/nodedc-login.css`, but it must not be stored in the native Authentik Brand `branding_custom_css` field. Authentik Brand custom CSS is global. Authentik also passes it into the Admin/User web component runtime, so broad login selectors can break list pages, toolbars, tables, and other Admin interface content. Keep `Brand.branding_custom_css` empty in local bootstrap and Synology deploy scripts. `custom-templates/base/header_js.html` keeps Authentik's native config script and applies the NODE.DC favicon globally. It renders NODE.DC auth-screen CSS/DOM helpers only on `/if/flow/`, `/flows/`, and `/login/` paths, and excludes technical admin hosts such as `auth-admin.nas.nodedc` / `auth-admin.local.nodedc`. On public auth paths only, it also passes `nodedc-login.css` into `window.authentik.brand` so Authentik's Lit web components can style their shadow DOM. Admin and User paths receive an empty runtime brand CSS value. `custom-templates/base/skeleton.html` leaves `