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 foxids/foxids och foxids/foxids-control till en ny version. Nya FoxIDs releases är backwards compatible, se release notes innan du uppdaterar.
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 (Client och API) i två docker images foxids/foxids och foxids/foxids-control eller genererade från kod med
Dockerfilefiler. - 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
Klona git repository eller ladda ner som ZIP. Docker yaml konfigurationsfilerna finns i ./Docker mappen.
Öppna en konsol och navigera till ./Docker mappen.
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 images från Docker Hub eller images genererade från kod med Dockerfile filer. 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.
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 eller docker-compose-project.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 genom att välja en av följande tre sätt:
- Allt baserat på images från Docker Hub och med HTTP
docker-compose -f docker-compose-image.yaml -f docker-compose.development-http.yaml up -d
- Delvis baserat på images genererade från kod med
Dockerfilefiler och med HTTP
docker-compose -f docker-compose-project.yaml -f docker-compose.development-http.yaml up -d
- Delvis baserat på images genererade från kod med
Dockerfilefiler och med HTTP/HTTPS - kräver att development certifikatet finns.
docker-compose -f docker-compose-project.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-project.yaml -f docker-compose.development-http.yaml down
# eller
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 är versionen
# eller
docker build -f ./src/foxids.control/Dockerfile . -t foxids-control:x.x.x # x.x.x är versionen
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