synops/reference/server-state.md
vegard 0a467066ba Synops v2: arkitektur, retninger og dokumentasjon
Nystart basert på arkitektonisk innsikt fra Sidelinja v1.
Koden er ny, visjon og primitiver er validert gjennom tidligere arbeid.

Inneholder:
- Komplett arkitekturdokumentasjon (docs/arkitektur.md)
- 6 vedtatte retninger (docs/retninger/)
- Alle concepts, features, proposals og erfaringer fra v1
- Server-oppsett og drift (docs/setup/)
- LiteLLM-konfigurasjon (API-nøkler via env)
- Editor.svelte referanse fra v1

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-17 06:43:08 +01:00

2.9 KiB

Server-tilstand ved v1→v2 overgang (mars 2025)

Denne filen dokumenterer hva som kjører på serveren ved overgangen. Slettes når v2 er oppe og stabilt.

Kjørende containere (docker-compose)

Container Image Rolle Beholdes?
postgres postgres:16 Database (sidelinja, authentik, forgejo) JA
caddy caddy:2 Reverse proxy, HTTPS JA
authentik-server goauthentik/server:latest SSO JA
authentik-worker goauthentik/server:latest SSO bakgrunn JA
redis redis:7-alpine Cache for Authentik JA
forgejo forgejo:10 Git JA
spacetimedb clockworklabs/spacetime:latest Sanntid FJERNES (tom v1-modul)
web sidelinja-web (bygget) SvelteKit v1 FJERNES
worker sidelinja-worker (bygget) Rust worker v1 FJERNES
ai-gateway litellm:main-stable AI-ruter BEHOLDES (uavhengig av app)

Caddyfile (fungerende)

  • auth.sidelinja.org → authentik-server:9000
  • git.sidelinja.org → forgejo:3000
  • sidelinja.org → web:3000 + /media/* (filservering) + JSON access log
  • vegard.info → placeholder
  • rt.sidelinja.org → spacetimedb:3000

PG init-script

/srv/sidelinja/config/postgres/init/01-create-databases.sql Oppretter authentik og forgejo DB-brukere med hardkodede passord. Disse passordene matcher .env-variablene og er allerede kjørt — scriptet kjøres kun ved første PG-oppstart.

Dockerfiles (referanse)

web/Dockerfile

  • node:20-alpine, to-stegs bygg
  • VITE_SPACETIMEDB_URL som build-arg
  • npm run buildnode build på port 3000

worker/Dockerfile

  • rust:1-bookworm, to-stegs bygg med dependency-caching
  • debian:bookworm-slim runtime med ca-certificates
  • Binary: sidelinja-worker

.env-variabler på server

AUTHENTIK_CLIENT_ID, AUTHENTIK_CLIENT_SECRET, AUTHENTIK_ISSUER, AUTHENTIK_POSTGRESQL_HOST, AUTHENTIK_POSTGRESQL_NAME, AUTHENTIK_POSTGRESQL_PASSWORD, AUTHENTIK_POSTGRESQL_USER, AUTHENTIK_SECRET_KEY, AUTH_SECRET, COMPOSE_PROJECT_NAME, DATABASE_URL, DOMAIN_AUTH, DOMAIN_SIDELINJA, DOMAIN_VEGARD, FORGEJO_DB_PASSWD, LITELLM_MASTER_KEY, LIVEKIT_API_KEY, LIVEKIT_API_SECRET, OPENROUTER_API_KEY, POSTGRES_DB, POSTGRES_PASSWORD, POSTGRES_USER

Migrasjoner (v1, 15 stk)

0001-0015: initial_schema, kanban, calendar, notes, meldingsboks, warmup_config, ai_config, ai_prompts, provider_extra_params, openrouter_only, api_keys_toggle, api_keys_values, drop_priority_unique, workspace_ai_prompts, usage_action_column. Pluss seed_dev.sql.

v2 starter med nytt skjema (noder+edges). Disse migreringene er irrelevante.

Crontab

Ingen crontab konfigurert (backup-strategi er dokumentert men ikke implementert).

Mappestruktur /srv/sidelinja/

config/authentik/  config/caddy/  config/postgres/init/
data/authentik/  data/caddy/  data/forgejo/  data/postgres/  data/redis/  data/spacetimedb/
logs/caddy/
media/  (podcast-filer)
server/  (git-klon av v1-repoet)
docker-compose.yml
.env