Skip to content

Kopier fra test til produktion

Jorgen Larsen de Martino edited this page Mar 15, 2026 · 2 revisions

Kopier OneDoor fra test til produktion (IIS)

Vejledning til at overføre en OneDoor-installation fra test til produktion ved IIS.


Forudsætning

Du har en fungerende test-installation med bl.a.:

  • Installationsmappe (fx C:\onedoor\sites\onedoor-test.minkommune.dk)
  • Config-mappe med organisations og configurations
  • IIS-site der kører onedoor-server via iisnode

Princip: To separate installationer

Anbefaling: Hold test og produktion som to adskilte installationer:

Test Produktion
Mappe C:\onedoor\sites\onedoor-test.minkommune.dk C:\onedoor\sites\onedoor.minkommune.dk
Config ...\config ...\config
IIS-site onedoor-test.minkommune.dk onedoor.minkommune.dk

Trin 1: Opret produktionsmappe (første gang)

C:\onedoor\sites\onedoor.minkommune.dk\ ├── config\ ├── log\ ├── node_modules\ (via pnpm add) ├── package.json └── web.config 

Installer OneDoor som beskrevet i README (pnpm add, kopier config). Brug en fast versionsnummer i package.json (fx "@septima/onedoor-server": "1.2.3").


Trin 2: Kopier config fra test til produktion

Vigtigt: Kun config-mappen indeholder din tilpasning. node_modules kommer fra pnpm.

PowerShell:

# Erstat config helt (backup først!) Copy-Item -Path "C:\onedoor\sites\onedoor-test.minkommune.dk\config" ` -Destination "C:\onedoor\sites\onedoor.minkommune.dk\config" ` -Recurse -Force

Manuelt: Kopiér hele mappen config fra test til produktion og overskriv.


Trin 3: Opdater produktions-specifikke værdier

Rediger i produktions-config efter kopi:

config/config.json

{ "servername": "Esbjerg Produktion", "publicEndpoint": "https://onedoor.minkommune.dk/", "logLevel": "warn" }

config/onedoor/config.yml

  • auth – tokens, ldap, permissions (produktions-credentials)
  • admin.db – evt. adskilt produktionsdatabase

config/organisations/.../configurations/.../params.yml

  • datafordeler.username og password – brug produktions-credentials til Datafordeleren
  • skraafoto.token – produktions-token
  • poi.token – produktions-token
  • Andre API-tokens og adresser

Trin 4: Opdater web.config i produktion

Sæt korrekt CONFIG_PATH og logDirectory:

<appSettings> <add key="CONFIG_PATH" value="C:\onedoor\sites\onedoor.minkommune.dk\config" /> </appSettings>
logDirectory="C:\onedoor\sites\onedoor.minkommune.dk\log"

Trin 5: Opret IIS-site for produktion

  1. IIS Manager → Sites → Add Website
  2. Site name: fx onedoor-produktion
  3. Binding: onedoor.minkommune.dk (HTTPS anbefalet)
  4. Physical path: C:\onedoor\sites\onedoor.minkommune.dk
  5. Application Pool: .NET CLR = "No Managed Code"; 32-bit = false
  6. Tjek at iisnode, URL Rewrite og ARR er installeret (som i README)

Senere opdateringer (test → prod)

Når du har ændret config i test og vil overføre til produktion:

  1. Backup produktions-config:

    Copy-Item -Path "C:\onedoor\sites\onedoor.minkommune.dk\config" ` -Destination "C:\onedoor\backup\config-$(Get-Date -Format 'yyyyMMdd-HHmm')" -Recurse
  2. Kopier kun de mapper/filer du har ændret – eller hele config hvis du overskriver credentials bagefter.

  3. Opdater produktions-credentials i params.yml (datafordeler, skraafoto, poi osv.).

  4. Genstart IIS-site eller Application Pool for produktion.


Checkliste før go-live

  • CONFIG_PATH i web.config peger på produktions-config
  • config.json: publicEndpoint, servername, logLevel
  • params.yml: datafordeler, skraafoto, poi og andre tokens med produktionsværdier
  • config/onedoor/config.yml: auth, evt. admin-database
  • IIS-binding med HTTPS
  • Backup af produktions-config taget

Automatisering (valgfrit)

Et PowerShell-script kan:

  1. Backupe produktions-config
  2. Kopiere config fra test
  3. Erstatte kendte credentials via placeholder eller separat secrets-fil

For sikkerhed bør credentials ikke stå i scriptet – brug miljøvariabler eller en krypteret secrets-fil.


Fejlsøgning

Problem Tjek
500 efter deploy iisnode-log i log-mappen, CONFIG_PATH korrekt
Forkerte data params.yml med prod-credentials?
CORS-fejl config.json allow_origins, publicEndpoint

Se Installations vejledning for IIS-opsætning og iisnode.

Clone this wiki locally