Files
manage/docs/superpowers/specs/2026-05-08-obsidian-documentation-design.md
T
alex 836f733a2e feat: Add API key authentication for backup tool
- Add get_api_key() and require_api_key() to auth.py
- Add generic key-value settings storage to SettingsStore
- Add test_api_key_auth to verify the implementation
- Uses secrets.compare_digest for timing-safe comparison
- Auto-generates API key on first use and stores in settings DB
2026-05-11 21:25:46 +02:00

2.1 KiB

Obsidian Documentation Structure for Manage (Media Library Viewer)

Date: 2026-05-08 Status: Approved

Purpose

Create a comprehensive, interconnected Obsidian documentation vault for the Manage project (media library viewer application). The documentation targets all audiences: future developers, contributors, operators, and deployers.

Structure

Map of Content (MOC)

  • manage/Overview.md — Central hub with wikilinks to all documentation areas

Architecture & Overview

  • manage/Architecture.md — System design, data flow, tech stack
  • manage/Directory Structure.md — Annotated codebase layout

Backend

  • manage/Backend/API Endpoints.md — Complete REST endpoint map
  • manage/Backend/Configuration.md — Settings, env vars, OIDC
  • manage/Backend/Services.md — Core services: settings store, media index, poller, mail
  • manage/Backend/Clients.md — External integrations: Jellyfin, Jellyseerr, SSH

Frontend

  • manage/Frontend/Pages & Routing.md — Routes, page components
  • manage/Frontend/Components.md — Reusable components
  • manage/Frontend/State & Data.md — Hooks, QueryClient, data fetching
  • manage/Frontend/Auth & Theme.md — OIDC auth, MUI theme

Deployment

  • manage/Deployment/Production.md — Docker Compose, Traefik, TLS
  • manage/Deployment/Development.md — Dev workflow, hot reload

Operations

  • manage/Operations/Machine Management.md — SSH keys, collectors
  • manage/Operations/Monitoring.md — Poller, metrics
  • manage/Operations/Tasks & Jobs.md — Saved tasks, job templates

Development

  • manage/Development/Setup.md — Getting started for backend + frontend
  • manage/Development/Testing.md — Test structure and commands
  • manage/Development/Contributing.md — Conventions, PR workflow

Cross-Linking Conventions

  • Every note uses YAML frontmatter with tags and aliases
  • Related docs linked via [[wikilinks]]
  • Callouts for warnings, tips, and notes

Technologies Referenced

  • Backend: Python 3.11+, FastAPI, SQLite, Paramiko, PyJWT
  • Frontend: React 19, TypeScript 6, Vite 8, MUI 9, D3 7, AG Grid
  • Infra: Docker, Traefik, Authentik/OIDC