synops/docs/setup/lokal.md
vegard 91ccf4b270 Oppdater docs til server-only utviklingsmodell
Fjerner alle referanser til lokal WSL2-instans og to-instans-modellen.
All utvikling skjer nå direkte på produksjonsserveren via Claude Code.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 18:29:45 +00:00

2.9 KiB

Oppsett: Lokalt Utviklingsmiljø (WSL2) — UTDATERT

Filsti: docs/setup/lokal.md

MERK: Denne guiden er utdatert. All utvikling skjer nå direkte på produksjonsserveren via Claude Code. Dokumentet beholdes som referanse i tilfelle lokalt utviklingsmiljø gjeninnføres.

Det lokale miljøet var et utviklingsmiljø for kode. Frontend (SvelteKit) ble kjørt lokalt med HMR, Rust ble bygd lokalt. Alle tjenester (PG, SpacetimeDB, AI Gateway, etc.) kjørte på produksjonsserveren — ingen lokal Docker-replika.

Hva som gjøres hvor

Aktivitet Hvor Hvorfor
Skrive/teste kode (Rust, SvelteKit, TypeScript) Lokalt Rask iterasjon, HMR
PG-skjema og migrasjoner Mot server-PG Én sannhetskilde
Whisper/AI-eksperimentering Via AI Gateway på server Felles tjeneste
Docker-compose endringer Direkte på server Serveren er dev-miljø
Caddy/Authentik/Forgejo config Direkte på server Avhenger av domener, sertifikater, SSO

0. Forutsetninger

  • Windows 11 med WSL2 (Ubuntu 24.04 LTS)
  • Node.js 20+ (via nvm i WSL2)
  • Rust toolchain (via rustup i WSL2)
  • SSH-nøkkel konfigurert mot serveren og Forgejo (~/.ssh/id_ed25519)

1. Installer verktøy i WSL2

# Node.js via nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm install 20
nvm use 20

# Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env

2. Klon prosjektet

cd ~
git clone ssh://git@git.sidelinja.org:222/vegard/synops.git
cd synops

3. Miljøvariabler (.env.local)

cp .env.example .env.local
# Fyll inn API-nøkler (Gemini, xAI, etc.)

.env.local inneholder kun lokale variabler (API-nøkler for dev, Authentik-innstillinger). Tjenestekonfigurasjon lever på serveren.

4. Utviklingsflyt

# SvelteKit med HMR (proxy til api.sidelinja.org for /api-kall)
cd frontend && npm run dev

# Rust maskinrom
cd maskinrommet && cargo run

5. Deploy

# 1. Commit og push
git push forgejo main

# 2. Deploy til prod (krever eksplisitt godkjenning)
ssh vegard@157.180.81.26 "cd /srv/synops && git pull && docker compose up -d --build"

6. Server-side Claude Code

Claude Code er også installert direkte på produksjonsserveren (/home/vegard/synops/). Brukes for vedlikehold, feilretting og oppgavekjøring via tmux. Autentiserer med Anthropic Max-abonnement (claude login).

7. Forskjeller fra produksjon (bevisste)

Aspekt Lokalt Produksjon
SvelteKit npm run dev (HMR) Docker container
Rust cargo run Docker container
Database/tjenester Kobler til server Kjører lokalt i Docker
HTTPS Ikke nødvendig Let's Encrypt via Caddy
Auth Authentik bypass eller dev-token Full Authentik OIDC