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 Dockerfile filer.
  • 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

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:

  1. 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
  1. Delvis baserat på images genererade från kod med Dockerfile filer och med HTTP
docker-compose -f docker-compose-project.yaml -f docker-compose.development-http.yaml up -d
  1. Delvis baserat på images genererade från kod med Dockerfile filer 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 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-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

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