server/CLAUDE.md
vegard 53f0ccf49e Oppdater CLAUDE.md med serverinfo og produksjonsstatus
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 04:53:38 +01:00

44 lines
2.5 KiB
Markdown

# Sidelinja - Claude Code Prosjektguide
## Prosjektoversikt
Sidelinja er et redaksjonelt operativsystem og kunnskapsgraf for podcast-produksjon.
Self-hosted på Hetzner VPS med full datakontroll.
## Nøkkelfiler
- `ARCHITECTURE.md` — Overordnet arkitektur, stack, datamodell og infrastruktur
- `docs/setup/produksjon.md` — Steg-for-steg oppsett av Hetzner VPS fra scratch
- `docs/setup/lokal.md` — Steg-for-steg oppsett av lokalt WSL2 utviklingsmiljø
- `docs/features/` — Detaljerte feature-spesifikasjoner:
- `kunnskapsgraf_og_relasjoner.md` — Nodes & Edges-modell i PostgreSQL
- `ai_research_klipper.md` — AI-drevet research-inntak til kunnskapsgrafen
- `live_ai_assistent.md` — Sanntids faktoid-oppslag under innspilling
- `produktivitetssuite.md` — Kanban, chat, show notes (SpacetimeDB-tung)
- `podcastfabrikken.md` — Publiseringspipeline (Whisper + OpenRouter + RSS)
- `podcast_statistikk.md` — IAB-kompatibel lytterstatistikk fra Caddy-logger
- `valgomat.md` — Publikumsrettet valgomat (SpacetimeDB)
- `jobbkø.md` — Felles PostgreSQL-basert køsystem for alle bakgrunnsjobber
- `synkronisering.md` — PostgreSQL ↔ SpacetimeDB dataflyt og eierskapsmodell
- `api_grensesnitt.md` — Kommunikasjonskart: SvelteKit er web-API, Rust er worker
## Stack
- **Backend/Automasjon:** Rust
- **Frontend:** SvelteKit (TypeScript, PWA)
- **Sanntid:** SpacetimeDB (arbeidsflyt/state) + LiveKit (lyd/video)
- **Database:** PostgreSQL (persistent/kunnskapsgraf) + SpacetimeDB (in-memory/sanntid)
- **AI:** faster-whisper (transkripsjon), OpenRouter (Claude-modeller)
- **Infra:** Docker Compose, Caddy, Authentik (SSO), Forgejo (Git)
## Produksjonsserver
- **IP:** 157.180.81.26
- **SSH:** `ssh sidelinja@157.180.81.26` (nøkkelbasert, sudo uten passord)
- **Filer:** `/srv/sidelinja/` (docker-compose.yml, .env, config/, data/, media/, logs/)
- **Git remote:** `forgejo``ssh://git@git.sidelinja.org:222/sidelinja/sidelinja.git`
- **Domener:** sidelinja.org, auth.sidelinja.org (Authentik), git.sidelinja.org (Forgejo), vegard.info
- **Status:** Lag A komplett (PostgreSQL, Caddy, Authentik, Forgejo, Redis). Lag B-C gjenstår.
## Viktige regler
- Aldri eksponere databaseporter mot internett (kun port 80/443 via Caddy)
- Bruk `tea` CLI, ikke `gh` (vi bruker Forgejo, ikke GitHub)
- Tunge AI-jobber (Whisper, OpenRouter) skal aldri blokkere web-requests
- Kod og test lokalt i WSL2, deploy via push til Forgejo + SSH pull
- Sjekk alltid `docs/features/<navn>.md` før du implementerer en feature