Docker

Deploy FoxIDs i Docker Desktop på en dev eller test maskine.

Dette er en beskrivelse af hvordan du laver en standard deployment og logger ind første gang.

En FoxIDs installation er som en bucket, der er ingen eksterne dependencies og det er let at opnå meget høj oppetid med lille indsats. FoxIDs opdateres ved at opdatere de to docker images www.foxids.com/foxids:x.x.x og www.foxids.com/foxidscontrol:x.x.x til en ny version. Nye FoxIDs releases er backward compatible. Gennemgå release notes før du opdaterer. Du kan også finde den aktuelle Docker image version der.

En gyldig licens kræves for at få adgang til FoxIDs releases. Herfra kan du generere en secret til at autentificere mod Docker image registriet på www.foxids.com, som bruger Basic authentication.

Forudsætninger:

  • Du har Docker Desktop installeret.
  • Du har grundlæggende viden om Docker.

Dette er en liste over nyttige kommandoer i slutningen af denne beskrivelse.

Denne deployment omfatter:

  • To websites en til FoxIDs og en til FoxIDs Control (the admin Client og API) i to docker images www.foxids.com/foxids:x.x.x og www.foxids.com/foxidscontrol:x.x.x.
  • De to websites eksponeres på to forskellige porte.
  • MongoDB er en NoSQL database og indeholder alle data inklusiv tenants, miljøer og brugere. Deployet med det officielle MongoDB Docker image.
  • Redis cache holder sekvenser (fx login og logout), data cache for at forbedre performance og tællere til at sikre autentifikation mod forskellige angreb. Deployet med det officielle Redis Docker image.
  • Logs skrives til stdout hvor Docker kan opsamle dem.

Brug valgfrit PostgreSql i stedet for MongoDB og valgfrit ingen Redis og gem cache data i databasen (MongoDB eller PostgreSql). Uden Redis cache skal du vælge None som data cache.

Deployment

Deploymenten udføres i den beskrevne rækkefølge.

Gør klar

Download Docker yaml konfigurationsfiler her og placer dem i en mappe på din maskine, f.eks. C:\FoxIDs\Docker.

Åbn en konsol og naviger til mappen Docker.

Volume

Du skal bruge et volume til MongoDB med navnet foxids-data hvor data gemmes.

Opret enten et volume til MongoDB på dit Windows host file system fx i mappen C:\data\foxids-data. Vigtigt: opret mapperne før du kører kommandoen.

docker volume create --driver local --opt type=none --opt device=C:\data\foxids-data --opt o=bind foxids-data

ELLER opret et volume til MongoDB som administreres af Docker.

docker volume create foxids-data

Deploy containere

De to FoxIDs websites konfigureres med Docker images. Og valgfrit konfigureret til kun at bruge HTTP eller både HTTP/HTTPS med et development certifikat.
De officielle MongoDB og Redis images hentes fra Docker Hub.

Pull secret og Docker setup
Sæt brugernavnet til dit kunde-ID og adgangskoden til din pull secret for FoxIDs Docker registriet, og autentificer derefter Docker.

docker login www.foxids.com --username <customer-id> --password <pull-secret>

Opdater C:\src\GitHub\FoxIDs.Assets\Docker\docker-compose-image.yaml:

services:
  foxids:
    image: www.foxids.com/foxids:x.x.x
  foxids-control:
    image: www.foxids.com/foxidscontrol:x.x.x

Vælg versionen fra FoxIDs releases, og hent derefter images:

docker-compose -f docker-compose-image.yaml pull

Email provider
Du kan valgfrit konfigurere en global email provider eller senere konfigurere email providers per miljø. FoxIDs understøtter at sende e-mails med SendGrid og SMTP.

Den globale email provider konfigureres i docker-compose-image.yaml filen på foxids servicen i environment: sektionen.
Dette eksempel viser hvordan du tilføjer Outlook / Microsoft 365 med SMTP:

- name: "Settings__Smtp__FromEmail"
    value: "my@email-address.org"
- name: "Settings__Smtp__FromName" # Valgfrit afsendernavn knyttet til e-mailadressen 
    value: "e.g, my company name"
- name: "Settings__Smtp__Host"
    value: "smtp.office365.com"
- name: "Settings__Smtp__Port"
    value: "587"
- name: "Settings__Smtp__Username"
    value: "my@email-address.com"
- name: "Settings__Smtp__Password"
    value: "xxxxxxx"

Deploy
Opret deploymenten med Docker images og HTTP:

  1. Baseret på Docker images og med HTTP
docker-compose -f docker-compose-image.yaml -f docker-compose.development-http.yaml up -d
  1. Baseret på Docker images og med HTTP/HTTPS - kræver, at development certifikatet er til stede.
docker-compose -f docker-compose-image.yaml -f docker-compose.development-https.yaml up -d

Første login

Åbn dit FoxIDs Control site (http://localhost:8801 eller https://localhost:8401) i en browser. Det bør videresende til FoxIDs site hvor du logger ind med standard admin brugeren admin@foxids.com og adgangskoden FirstAccess! (du skal ændre adgangskoden ved første login).
Du bliver derefter videresendt tilbage til FoxIDs Control site i master tenant. Du kan tilføje flere admin brugere i master tenant.

Klik derefter på main tenant og autentificér igen med samme standard admin bruger admin@foxids.com og adgangskoden FirstAccess! (igen, du skal ændre adgangskoden).

Standard admin bruger og adgangskode er den samme for både master tenant og main tenant, men det er to forskellige brugere.

Du er nu logget ind på main tenant og kan begynde at konfigurere dine applikationer og autentifikationsmetoder.

Nyttige kommandoer

Dette er en liste over kommandoer som kan være nyttige under deployment for at se detaljer og lave deployment ændringer.

Nedtag deployment

docker-compose -f docker-compose-image.yaml -f docker-compose.development-http.yaml down
# eller
docker-compose -f docker-compose-image.yaml -f docker-compose.development-https.yaml down

Stop container

docker stop xxx

Fjern container

docker rm xxx

Fjern image

docker rmi xxx

List volumes

docker volume ls

Fjern volume

docker volume rm xxx

Fjern alle ubrugte volumes

docker volume prune

Vis logs i container

Docker logs xxx

Dit privatliv

Vi bruger cookies til at gøre din oplevelse på vores websites bedre. Klik på 'Acceptér alle cookies' for at acceptere brugen af cookies. For at fravælge ikke-nødvendige cookies, klik på 'Kun nødvendige cookies'.

Besøg vores privatlivspolitik for mere