Docker
Distribuer FoxIDs i Docker Desktop på en dev eller test maskin.
Dette er en beskrivelse av hvordan du gjør en standard distribusjon og logger inn første gang.
En FoxIDs installasjon er som en bøtte, det finnes ingen eksterne avhengigheter og det er enkelt å oppnå svært høy oppetid med liten innsats. FoxIDs oppdateres ved å oppdatere de to docker image foxids/foxids og foxids/foxids-control til en ny versjon. Nye FoxIDs utgivelser er bakoverkompatible, se release notes før oppdatering.
Forutsetninger:
- Du har Docker Desktop installert.
- Du har grunnleggende kunnskap om Docker.
Dette er en liste med nyttige kommandoer på slutten av denne beskrivelsen.
Denne distribusjonen inkluderer:
- To nettsteder, ett for FoxIDs og ett for FoxIDs Control (Client og API) i to docker image foxids/foxids og foxids/foxids-control eller generert fra kode med
Dockerfilefiler. - De to nettstedene er eksponert på to forskjellige porter.
- MongoDB er en NoSQL database og inneholder alle data inkludert tenants, miljøer og brukere. Distribuert med den offisielle MongoDB Docker image.
- Redis cache holder sekvenser (f.eks. innlogging og utlogging), datacache for å forbedre ytelsen og tellerne for å sikre autentisering mot ulike angrep. Distribuert med den offisielle Redis Docker image.
- Logger skrives til
stdoutder loggene kan plukkes opp av Docker.
Valgfritt bruk PostgreSql i stedet for MongoDB og valgfritt velg bort Redis og lagre cache data i databasen (MongoDB eller PostgreSql). Uten en Redis cache må du velge
Nonesom data cache.
Distribusjon
Distribusjonen utføres i den beskrevne rekkefølgen.
Gjør klar
Klon git repository eller last ned som ZIP. Docker yaml konfigurasjonsfilene ligger i ./Docker mappen.
Åpne en konsoll og naviger til ./Docker mappen.
Volum
Du trenger et volum for MongoDB med navnet foxids-data der data lagres.
Enten opprett et volume for MongoDB på Windows vertens filsystem f.eks. i mappen C:\data\foxids-data. Viktig: opprett mappene før du kjører kommandoen.
docker volume create --driver local --opt type=none --opt device=C:\data\foxids-data --opt o=bind foxids-data
ELLER, opprett et volume for MongoDB som administreres av Docker.
docker volume create foxids-data
Distribuer containere
De to FoxIDs nettstedene er konfigurert med enten image fra Docker Hub eller image generert fra kode med Dockerfile filer. Og valgfritt konfigurert til å bruke enten bare HTTP eller både HTTP/HTTPS med et utviklingssertifikat.
De offisielle MongoDB og Redis image hentes fra Docker Hub.
E-postleverandør
Du kan valgfritt konfigurere en global e-postleverandør eller senere konfigurere e-postleverandører per miljø. FoxIDs støtter sending av e-post med SendGrid og SMTP.
Den globale e-postleverandøren konfigureres i docker-compose-image.yaml eller docker-compose-project.yaml filen på foxids tjenesten i environment: seksjonen.
Dette eksempelet viser hvordan du legger til Outlook / Microsoft 365 med SMTP:
- name: "Settings__Smtp__FromEmail"
value: "my@email-address.org"
- name: "Settings__Smtp__FromName" # Valgfritt avsendernavn tilknyttet e-postadressen
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"
Distribuer
Opprett distribusjonen, velg en av de tre følgende måtene:
- Alt basert på image fra Docker Hub og med HTTP
docker-compose -f docker-compose-image.yaml -f docker-compose.development-http.yaml up -d
- Delvis basert på image generert fra kode med
Dockerfilefiler og med HTTP
docker-compose -f docker-compose-project.yaml -f docker-compose.development-http.yaml up -d
- Delvis basert på image generert fra kode med
Dockerfilefiler og med HTTP/HTTPS - krever at utviklingssertifikatet er tilgjengelig.
docker-compose -f docker-compose-project.yaml -f docker-compose.development-https.yaml up -d
Første innlogging
Åpne FoxIDs Control nettstedet ditt (http://localhost:8801 eller https://localhost:8401) i en nettleser.
Det bør omdirigere til FoxIDs nettstedet der du logger inn med standard admin bruker admin@foxids.com og passord FirstAccess! (du må endre passord ved første innlogging).
Du blir deretter omdirigert tilbake til FoxIDs Control nettstedet i master tenant. Du kan legge til flere admin brukere i master tenant.
Klikk deretter på main tenant og autentiser igjen med samme standard admin bruker admin@foxids.com og passord FirstAccess! (igjen, du må endre passordet).
Standard admin bruker og passord er det samme for både
mastertenant ogmaintenant, men det er to forskjellige brukere.
Du er nå logget inn i main tenant og kan begynne å konfigurere applikasjoner og autentiseringsmetoder.
Nyttige kommandoer
Dette er en liste med kommandoer som kan være nyttige under distribusjon for å se detaljer og gjøre endringer i distribusjonen.
Steng distribusjonen
docker-compose -f docker-compose-image.yaml -f docker-compose.development-http.yaml down
# or
docker-compose -f docker-compose-project.yaml -f docker-compose.development-http.yaml down
# or
docker-compose -f docker-compose-project.yaml -f docker-compose.development-https.yaml down
Bygg image med Dockerfile fil
docker build -f ./src/foxids/Dockerfile . -t foxids:x.x.x # x.x.x er versjonen
# or
docker build -f ./src/foxids.control/Dockerfile . -t foxids-control:x.x.x # x.x.x er versjonen
Stopp container
docker stop xxx
Fjern container
docker rm xxx
Fjern image
docker rmi xxx
List volumer
docker volume ls
Fjern volum
docker volume rm xxx
Fjern alle ubrukte volumer
docker volume prune
Vis logger i container
Docker logs xxx