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.xochwww.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
stdoutdä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
Nonesom 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:
- Baserat på Docker images och med HTTP
docker-compose -f docker-compose-image.yaml -f docker-compose.development-http.yaml up -d
- 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
mastertenant ochmaintenant, 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