No description
Find a file
Bruno Deanoz 177f3d5ab9 Fix bugs and implement Authentik SSO login
- frontmatter: replace custom YAML parser with gray-matter; add private field (was silently dropped on save)
- types: add private? to NoteMeta so the field propagates through NoteContent
- use-notes: fix all subtopic traversal bugs (deleteNote, renameNote, toggleDraft, updateActiveNote, loadNotes first-select) using recursive mapTopicNotes/filterTopicTree helpers
- api: remove unused moveNote duplicate (moveNoteApi is the correct export)
- auth: add setPendingServerUrl/getPendingServerUrl/clearPendingServerUrl for Authentik redirect flow
- login: implement Authentik SSO flow — save server URL, redirect to /api/studio/auth/authentik, detect #token= on return; show/hide token vs Authentik sections based on server config
- preview: fix useRef type error (missing undefined initializer)
2026-05-19 09:17:26 +02:00
public feat: add favicon (orbital icon with accent nucleus) 2026-05-18 16:53:19 +02:00
src Fix bugs and implement Authentik SSO login 2026-05-19 09:17:26 +02:00
.dockerignore feat: add Dockerfile for self-hosted deployment 2026-05-19 08:29:55 +02:00
.gitignore feat: initial commit — noz-studio web editor 2026-05-18 16:05:11 +02:00
Dockerfile feat: add Dockerfile for self-hosted deployment 2026-05-19 08:29:55 +02:00
LICENSE chore: add AGPL-3.0 license and package metadata 2026-05-18 16:19:26 +02:00
next-env.d.ts Fix bugs and implement Authentik SSO login 2026-05-19 09:17:26 +02:00
next.config.ts feat: add Dockerfile for self-hosted deployment 2026-05-19 08:29:55 +02:00
package.json Fix bugs and implement Authentik SSO login 2026-05-19 09:17:26 +02:00
pnpm-lock.yaml Fix bugs and implement Authentik SSO login 2026-05-19 09:17:26 +02:00
postcss.config.mjs feat: initial commit — noz-studio web editor 2026-05-18 16:05:11 +02:00
README.md docs: mark as personal use 2026-05-19 08:16:31 +02:00
tsconfig.json feat: initial commit — noz-studio web editor 2026-05-18 16:05:11 +02:00

noz-studio

A web editor PWA for noz — write and manage notes from any device, even without the CLI.

Personal use. Built as part of my own noz setup — open source, but things change without notice.

Features

  • CodeMirror 6 editor with Markdown syntax highlighting
  • Live preview — rendered note side by side with the editor
  • Wikilinks[[Note Title]] autocomplete and resolution
  • Diagram canvas — visual editor for _diagram.toml folder diagrams
  • Full-text search — search your garden from the sidebar
  • PWA — installable, works offline for reading cached notes
  • Dark / light mode
  • Multilingual (de / en)

Setup

noz-studio connects to a running noz instance via the CLI API. You need a token configured in your noz server's .env.local:

NOZ_CLI_TOKEN=your-secret-token

And in noosphere.toml:

[studio]
auth       = "token"   # or "authentik" or "both"
allow_push = true

Then set the allowed origin for CORS in .env.local on your noz server:

NOZ_STUDIO_ORIGIN=https://studio.your-domain.com

Running locally

pnpm install
pnpm dev   # starts on port 3001

Open http://localhost:3001, enter your noz server URL and token.

For local development, you can prefill credentials via environment variables:

NEXT_PUBLIC_DEV_SERVER=http://localhost:3000
NEXT_PUBLIC_DEV_TOKEN=your-token

Deployment

noz-studio is a standard Next.js app — deploy anywhere Next.js runs (Vercel, Docker, self-hosted).

The infra/ folder in noz contains a Traefik config for self-hosting behind a reverse proxy.

License

AGPL-3.0-only

For commercial licensing (proprietary use without copyleft), open an issue.