forked from ks-no/workshop-ai
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
120 lines (108 loc) · 5.62 KB
/
Copy path.env.example
File metadata and controls
120 lines (108 loc) · 5.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# Konfigurasjon for sandkassen.
# ./start.sh lager .env fra denne filen hvis den mangler. Rediger fritt etterpå.
#
# Merk: denne filen er *effektiv* konfigurasjon, ikke bare et eksempel. Verdiene her
# vinner over compose-defaultene så snart .env finnes.
# --- Nettverk --------------------------------------------------------------
#
# Hvilket grensesnitt de publiserte portene lytter på. Standarden er 127.0.0.1,
# altså bare denne maskinen. Sett 0.0.0.0 hvis en annen maskin eller en telefon
# må nå sandkassen - da er den åpen for alle på samme nett.
# BIND_HOST=0.0.0.0
# --- Autentisering ---------------------------------------------------------
#
# AUTH_ENFORCE=true betyr at alt som ikke er uttrykkelig åpent krever token:
# 401 vi vet ikke hvem du er
# 403 vi vet, og du får likevel ikke (hjemmel eller manglende samtykke)
#
# Dette er PÅ som standard, og det er meningen - hjemmelslaget er noe av det
# sandkassen finnes for å vise. Hent et token slik:
#
# export TOKEN=$(node scripts/token.ts --innbygger person-001)
# curl -H "Authorization: Bearer $TOKEN" http://localhost:8080/api/personer/person-001
#
# eller la http://localhost:3001/utforsker velge riktig token for ruten.
# (`pnpm token` treffer pnpms egen innebygde kommando - kall skriptet direkte.)
#
# Setter du false, virker alle kall uten header, men da ser du heller ikke
# forskjellen på 401 og 403.
AUTH_ENFORCE=true
# --- Språkmodell -----------------------------------------------------------
#
# AI_PROVIDER styrer hvor ai-gateway henter svar fra:
# mock - maltekst, ingen modell. Raskest, krever ingenting.
# ollama - lokal modell.
# openrouter - skytjeneste, krever API-nøkkel.
# telenor-ai-factory - Telenor AI Factory, krever API-nøkkel.
# bedrock - AWS Bedrock, krever IAM-nøkler. Se avsnittet nederst.
#
# Dette er bare startverdien. http://localhost:8082/admin bytter provider i en
# kjørende container uten restart, og valget der overstyrer denne variabelen.
AI_PROVIDER=ollama
# macOS (Apple Silicon): Ollama kjører nativt på verten, tjenestene i Docker.
# host.docker.internal er ruten fra container til macOS-verten.
# ./start.sh skriver denne linjen om ut fra plattformen din.
OLLAMA_BASE_URL=http://host.docker.internal:11434
# Linux/Windows med Ollama i Docker Compose: bruk containernavnet i stedet.
# OLLAMA_BASE_URL=http://ollama:11434
# ./start.sh skriver også denne, ut fra minnet på maskinen.
OLLAMA_MODEL=qwen2.5:14b
# Timeout for modellkall, i millisekunder. Kallet faller tilbake til maltekst
# når det går over. 10-60 sekunder på et SUMMARY-steg er normalt.
# AI_TIMEOUT_MS=180000
# Egen, kortere timeout for frie innbyggerspørsmål (/ai/sporsmaal). De skal
# svare mens noen venter, så her er maltekst bedre enn et langt opphold.
# AI_SPORSMAAL_TIMEOUT_MS=45000
# Alternativ til lokal modell. Krever nøkkel fra https://openrouter.ai
#
# OPENROUTER_MODEL er fritekst og sendes rett videre:
# OPENROUTER_MODEL=anthropic/claude-sonnet-4.5
# OPENROUTER_MODEL=openai/gpt-4o
# Det må være en OpenRouter-nøkkel. En Anthropic- eller OpenAI-nøkkel direkte
# virker ikke - da må du legge til en provider i ai-gateway.
# OPENROUTER_API_KEY=
# OPENROUTER_MODEL=mistralai/mistral-7b-instruct:free
# Telenor AI Factory bruker et OpenAI-kompatibelt LiteLLM-endepunkt. Modellen må
# være knyttet til abonnementet og API-nøkkelen i AI Factory.
# TELENOR_AI_FACTORY_BASE_URL=https://litellm.apps.s99ct03.aifactory.telenor.com
# TELENOR_AI_FACTORY_API_KEY=
# TELENOR_AI_FACTORY_MODEL=NVIDIA-Nemotron-3-Super-120B-A12B-FP8
# Et unikt salt beskytter den delte KV-cachen. Uten en verdi lager gatewayen et
# nytt salt ved hver oppstart.
# TELENOR_AI_FACTORY_CACHE_SALT=
# --- Matrikkel -------------------------------------------------------------
#
# Gateoppslag i tools-api:
# mock - bruker kun lokal matrikkel-mock. Fungerer offline. Dette er verdien
# i koden og i docker-compose.yml, og nå også her - tre steder, én
# verdi. Seeden har alle Bergen-gatene, så et live-oppslag har
# ingenting å legge til, og konferansenettet kan ikke ødelegge et
# gateoppslag.
# hybrid - prøver Geonorge først, faller tilbake til mock ved nulltreff eller
# nettfeil. Velg denne hvis du trenger gater utenfor seeden.
# live - kun Geonorge. Kaster ved nettfeil, så hvert gateoppslag blir 500
# når du er offline. Velg denne bevisst.
MATRIKKEL_MODE=mock
GEONORGE_ADRESSE_API_BASE_URL=https://ws.geonorge.no/adresser/v1
# --- AWS Bedrock (valgfritt) ----------------------------------------------
#
# Krever en IAM-rolle med bedrock:InvokeModel begrenset til de konkrete
# inference-profile- og modell-ARN-ene i BEDROCK_MODELS
# (apps/ai-gateway/src/server.js), og en bruker som bare kan sts:AssumeRole inn i
# den rollen - ikke bruk brede eller administrative nøkler her.
# Oppsett: scripts/aws-bedrock-setup.sh og scripts/aws-bedrock-add-user.sh.
#
# Nyere Claude-modeller på Bedrock kan ikke kalles med en ren modell-id -
# InvokeModel avviser det og ber om en inference profile - derfor er
# BEDROCK_MODEL_ID en profile-id ("eu.anthropic...."), ikke en bar modell-id.
#
# Navnet er BEDROCK_AWS_* og ikke bare AWS_* med vilje: skallet ditt har ofte
# allerede AWS_ACCESS_KEY_ID satt for dine egne, urelaterte nøkler, og en
# variabel som finnes i miljøet vinner over denne filen - både i Docker Compose og
# i `node --env-file`.
# Kjør scripts/aws-bedrock-assume.sh for å fylle disse ut; skriv dem ikke inn selv.
# BEDROCK_AWS_REGION=eu-north-1
# BEDROCK_AWS_ACCESS_KEY_ID=
# BEDROCK_AWS_SECRET_ACCESS_KEY=
# BEDROCK_AWS_SESSION_TOKEN=
# BEDROCK_MODEL_ID=eu.anthropic.claude-sonnet-4-5-20250929-v1:0