Docker

Stellen Sie FoxIDs in Docker Desktop auf einer dev oder test Maschine bereit.

Dies ist eine Beschreibung, wie Sie eine Standard Bereitstellung durchführen und sich erstmals anmelden.

Eine FoxIDs Installation ist wie ein Eimer, es gibt keine externen Abhängigkeiten und es ist einfach, mit wenig Aufwand eine sehr hohe Verfügbarkeit zu erreichen. FoxIDs werden aktualisiert, indem die beiden Docker Images www.foxids.com/foxids:x.x.x und www.foxids.com/foxidscontrol:x.x.x auf eine neue Version aktualisiert werden. Neue FoxIDs Releases sind backward compatible. Bitte prüfen Sie vor dem Update die release notes. Dort finden Sie auch die aktuelle Docker Image Version.

Für den Zugriff auf die FoxIDs Releases ist eine gültige Lizenz erforderlich. Dort können Sie ein Secret erzeugen, um sich bei der Docker Image Registry unter www.foxids.com zu authentifizieren, die Basic Authentication verwendet.

Voraussetzungen:

  • Docker Desktop ist installiert.
  • Grundkenntnisse in Docker.

Dies ist eine Liste nützlicher Befehle am Ende dieser Beschreibung.

Diese Bereitstellung umfasst:

  • Zwei Websites, eine für FoxIDs und eine für FoxIDs Control (the admin Client und API) in zwei Docker Images www.foxids.com/foxids:x.x.x und www.foxids.com/foxidscontrol:x.x.x.
  • Die beiden Websites werden auf zwei verschiedenen Ports bereitgestellt.
  • MongoDB ist eine NoSQL Datenbank und enthält alle Daten einschließlich Tenants, Umgebungen und Benutzer. Bereitgestellt mit dem offiziellen MongoDB Docker Image.
  • Redis cache hält Sequenzen (z. B. Login und Logout), Daten Cache zur Leistungsverbesserung und Zähler, um die Authentifizierung gegen verschiedene Angriffe zu schützen. Bereitgestellt mit dem offiziellen Redis Docker Image.
  • Logs werden in stdout geschrieben, wo sie von Docker aufgenommen werden können.

Optional verwenden Sie PostgreSql statt MongoDB und optional verzichten Sie auf Redis und speichern Cache Daten in der Datenbank (MongoDB oder PostgreSql). Ohne Redis cache müssen Sie None als data cache auswählen.

Bereitstellung

Die Bereitstellung erfolgt in der beschriebenen Reihenfolge.

Vorbereitung

Laden Sie die Docker yaml Konfigurationsdateien hier herunter und legen Sie sie in einem Ordner auf Ihrem Rechner ab, z. B. C:\FoxIDs\Docker.

Öffnen Sie eine Konsole und navigieren Sie zum Ordner Docker.

Volume

Sie benötigen ein Volume für MongoDB mit dem Namen foxids-data, in dem die Daten gespeichert werden.

Erstellen Sie entweder ein volume für MongoDB auf dem Windows Host Dateisystem z. B. im Ordner C:\data\foxids-data. Wichtig: Erstellen Sie die Ordner vor dem Ausführen des Befehls.

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

ODER erstellen Sie ein volume für MongoDB, das von Docker verwaltet wird.

docker volume create foxids-data

Container bereitstellen

Die beiden FoxIDs Websites sind mit den Docker Images konfiguriert. Optional können sie so konfiguriert werden, dass sie nur HTTP oder sowohl HTTP/HTTPS mit einem Entwicklungszertifikat verwenden.
Die offiziellen MongoDB und Redis Images werden von Docker Hub gezogen.

Pull Secret und Docker Setup
Setzen Sie den Benutzernamen auf Ihre Kunden-ID und das Passwort auf Ihr Pull Secret für die FoxIDs Docker Registry, und authentifizieren Sie anschließend Docker.

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

Aktualisieren Sie 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

Wählen Sie die Version aus den FoxIDs Releases und ziehen Sie anschließend die Images:

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

E Mail Provider
Optional können Sie einen globalen E Mail Provider konfigurieren oder später E Mail Provider pro Umgebung konfigurieren. FoxIDs unterstützt das Senden von E Mails mit SendGrid und SMTP.

Der globale E Mail Provider wird in der Datei docker-compose-image.yaml beim foxids Service im Abschnitt environment: konfiguriert.
Dieses Beispiel zeigt, wie Sie Outlook / Microsoft 365 mit SMTP hinzufügen:

- name: "Settings__Smtp__FromEmail"
    value: "my@email-address.org"
- name: "Settings__Smtp__FromName" # Optionaler Absendername zur E Mail Adresse 
    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"

Bereitstellen
Erstellen Sie die Bereitstellung mit Docker Images und HTTP:

  1. Basiert auf Docker Images und mit HTTP
docker-compose -f docker-compose-image.yaml -f docker-compose.development-http.yaml up -d
  1. Basiert auf Docker Images und mit HTTP/HTTPS - erfordert, dass das Entwicklungszertifikat vorhanden ist.
docker-compose -f docker-compose-image.yaml -f docker-compose.development-https.yaml up -d

Erster Login

Öffnen Sie Ihre FoxIDs Control Site (http://localhost:8801 oder https://localhost:8401) in einem Browser. Sie sollte zur FoxIDs Site weiterleiten, wo Sie sich mit dem Standard Admin Benutzer admin@foxids.com und dem Passwort FirstAccess! anmelden (Sie müssen das Passwort beim ersten Login ändern).
Sie werden dann zurück zur FoxIDs Control Site im master Tenant weitergeleitet. Sie können weitere Admin Benutzer im Master Tenant hinzufügen.

Klicken Sie anschließend auf den main Tenant und authentifizieren Sie sich erneut mit demselben Standard Admin Benutzer admin@foxids.com und dem Passwort FirstAccess! (auch hier müssen Sie das Passwort ändern).

Standard Admin Benutzer und Passwort sind für master Tenant und main Tenant gleich, es handelt sich jedoch um zwei unterschiedliche Benutzer.

Sie sind jetzt im main Tenant angemeldet und können mit der Konfiguration Ihrer Anwendungen und Authentifizierungsmethoden beginnen.

Nützliche Befehle

Dies ist eine Liste von Befehlen, die während der Bereitstellung nützlich sein können, um Details anzusehen und Änderungen an der Bereitstellung vorzunehmen.

Bereitstellung beenden

docker-compose -f docker-compose-image.yaml -f docker-compose.development-http.yaml down
# oder
docker-compose -f docker-compose-image.yaml -f docker-compose.development-https.yaml down

Container stoppen

docker stop xxx

Container entfernen

docker rm xxx

Image entfernen

docker rmi xxx

Volumes auflisten

docker volume ls

Volume entfernen

docker volume rm xxx

Alle ungenutzten Volumes entfernen

docker volume prune

Logs im Container anzeigen

Docker logs xxx

Ihre Privatsphäre

Wir verwenden Cookies, um Ihre Erfahrung auf unseren Websites zu verbessern. Klicken Sie auf 'Alle Cookies akzeptieren', um der Verwendung von Cookies zuzustimmen. Um nicht notwendige Cookies abzulehnen, klicken Sie auf 'Nur notwendige Cookies'.

Weitere Informationen finden Sie in unserer Datenschutzerklärung