Docker

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

Detta är en beskrivning av hur du gör en standard deployment och loggar in för första gången.

En FoxIDs installation är som en bucket, det finns inga externa dependencies och det är enkelt att uppnå mycket hög upptid med liten insats. FoxIDs uppdateras genom att uppdatera de två docker images www.foxids.com/foxids:x.x.x och www.foxids.com/foxidscontrol:x.x.x till en ny version. Nya FoxIDs releases är backward compatible. Granska release notes innan du uppdaterar. Där hittar du även den aktuella Docker image versionen.

En giltig licens krävs för att få tillgång till FoxIDs releases. Där kan du generera en secret för att autentisera mot Docker image registret på www.foxids.com, som använder Basic authentication.

Förutsättningar:

  • Du har Docker Desktop installerat.
  • Du har grundläggande kunskap om Docker.

Detta är en lista med nyttiga kommandon i slutet av denna beskrivning.

Denna deployment inkluderar:

  • Två webbplatser en för FoxIDs och en för FoxIDs Control (the admin Client och API) i två docker images www.foxids.com/foxids:x.x.x och www.foxids.com/foxidscontrol:x.x.x.
  • De två webbplatserna exponeras på två olika portar.
  • MongoDB är en NoSQL databas och innehåller all data inklusive tenants, miljöer och användare. Deployad med det officiella MongoDB Docker image.
  • Redis cache håller sekvenser (t.ex. login och logout), data cache för att förbättra performance och räknare för att säkra autentisering mot olika attacker. Deployad med det officiella Redis Docker image.
  • Loggar skrivs till stdout där Docker kan plocka upp dem.

Använd valfritt PostgreSql istället för MongoDB och valfritt ingen Redis och spara cache data i databasen (MongoDB eller PostgreSql). Utan Redis cache måste du välja None som data cache.

Deployment

Deploymenten utförs i den beskrivna ordningen.

Förbered

Ladda ner Docker yaml konfigurationsfiler här och placera dem i en mapp på din dator, t.ex. C:\FoxIDs\Docker.

Öppna en konsol och navigera till mappen Docker.

Volume

Du behöver ett volume för MongoDB med namnet foxids-data där data sparas.

Skapa antingen ett volume för MongoDB på ditt Windows host file system t.ex. i mappen C:\data\foxids-data. Viktigt: skapa mapparna innan du kör kommandot.

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

ELLER skapa ett volume för MongoDB som hanteras av Docker.

docker volume create foxids-data

Deploy containrar

De två FoxIDs webbplatserna konfigureras med Docker images. Och valfritt konfigurerade att endast använda HTTP eller både HTTP/HTTPS med ett development certifikat.
De officiella MongoDB och Redis images hämtas från Docker Hub.

Pull secret och Docker setup
Ange användarnamnet som ditt kund-ID och lösenordet som din pull secret för FoxIDs Docker registret, och autentisera sedan Docker.

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

Uppdatera 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älj version från FoxIDs releases, och hämta sedan images:

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

Email provider
Du kan valfritt konfigurera en global email provider eller senare konfigurera email providers per miljö. FoxIDs stödjer att skicka e-post med SendGrid och SMTP.

Den globala email providern konfigureras i docker-compose-image.yaml filen på foxids tjänsten i environment: sektionen.
Detta exempel visar hur du lägger till Outlook / Microsoft 365 med SMTP:

- name: "Settings__Smtp__FromEmail"
    value: "my@email-address.org"
- name: "Settings__Smtp__FromName" # Valfritt avsändarnamn kopplat till 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"

Deploy
Skapa deploymenten med Docker images och HTTP:

  1. Baserat på Docker images och med HTTP
docker-compose -f docker-compose-image.yaml -f docker-compose.development-http.yaml up -d
  1. Baserat på Docker images och med HTTP/HTTPS - kräver att utvecklingscertifikatet finns.
docker-compose -f docker-compose-image.yaml -f docker-compose.development-https.yaml up -d

Första login

Öppna din FoxIDs Control site (http://localhost:8801 eller https://localhost:8401) i en browser. Den ska omdirigera till FoxIDs site där du loggar in med standard admin användaren admin@foxids.com och lösenordet FirstAccess! (du måste byta lösenord vid första login).
Du omdirigeras sedan tillbaka till FoxIDs Control site i master tenant. Du kan lägga till fler admin användare i master tenant.

Klicka sedan på main tenant och autentisera igen med samma standard admin användare admin@foxids.com och lösenordet FirstAccess! (även här måste du byta lösenord).

Standard admin användare och lösenord är samma för både master tenant och main tenant, men det är två olika användare.

Du är nu inloggad på main tenant och kan börja konfigurera dina applikationer och autentiseringsmetoder.

Nyttiga kommandon

Detta är en lista med kommandon som kan vara användbara under deployment för att se detaljer och göra deployment ändringar.

Stoppa 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

Stoppa container

docker stop xxx

Ta bort container

docker rm xxx

Ta bort image

docker rmi xxx

Lista volumes

docker volume ls

Ta bort volume

docker volume rm xxx

Ta bort alla oanvända volumes

docker volume prune

Visa logs i container

Docker logs xxx

Din integritet

Vi använder cookies för att göra din upplevelse av våra webbplatser bättre. Klicka på 'Acceptera alla cookies' för att godkänna användningen av cookies. För att avstå från icke-nödvändiga cookies, klicka på 'Endast nödvändiga cookies'.

Besök vår integritetspolicy för mer