Docker

Déployez FoxIDs dans Docker Desktop sur une machine de dev ou de test.

Ceci est une description de la manière d’effectuer un déploiement par défaut et de se connecter pour la première fois.

Une installation FoxIDs est comme un bucket, il n’y a pas de dépendances externes et il est facile d’atteindre un très haut niveau de disponibilité avec peu d’efforts. FoxIDs se met à jour en mettant à jour les deux images Docker www.foxids.com/foxids:x.x.x et www.foxids.com/foxidscontrol:x.x.x vers une nouvelle version. Les nouvelles versions de FoxIDs sont backward compatible. Veuillez consulter les notes de version avant de mettre à jour. Vous y trouverez également la version actuelle de l’image Docker.

Une licence valide est requise pour accéder aux versions de FoxIDs. À partir de là, vous pouvez générer un secret pour vous authentifier auprès du registre d’images Docker sur www.foxids.com, qui utilise l’authentification Basic.

Prérequis :

  • Vous avez Docker Desktop installé.
  • Vous avez des connaissances de base sur Docker.

Voici une liste de commandes utiles à la fin de cette description.

Ce déploiement comprend :

  • Deux sites web, un pour FoxIDs et un pour FoxIDs Control (the admin Client et API) dans deux images Docker www.foxids.com/foxids:x.x.x et www.foxids.com/foxidscontrol:x.x.x.
  • Les deux sites web sont exposés sur deux ports différents.
  • MongoDB est une base de données NoSQL et contient toutes les données, y compris tenants, environnements et utilisateurs. Déployée avec l’image Docker officielle MongoDB.
  • Le cache Redis contient les séquences (ex. login et logout), un cache de données pour améliorer les performances et gère les compteurs pour sécuriser l’authentification contre diverses attaques. Déployé avec l’image Docker officielle Redis.
  • Les logs sont écrits sur stdout où ils peuvent être récupérés par Docker.

Optionnellement utilisez PostgreSql à la place de MongoDB et, optionnellement, désactivez Redis et enregistrez les données de cache dans la base de données (MongoDB ou PostgreSql). Sans cache Redis, vous devez sélectionner None comme data cache.

Déploiement

Le déploiement est effectué dans l’ordre décrit.

Préparer

Téléchargez les fichiers de configuration Docker yaml ici et placez-les dans un dossier sur votre machine, par exemple C:\FoxIDs\Docker.

Ouvrez une console et accédez au dossier Docker.

Volume

Vous avez besoin d’un volume pour MongoDB avec le nom foxids-data où les données sont enregistrées.

Soit créez un volume pour MongoDB sur votre système de fichiers hôte Windows, par ex. le dossier C:\data\foxids-data. Important : créez les dossiers avant d’exécuter la commande.

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

OU créez un volume pour MongoDB géré par Docker.

docker volume create foxids-data

Déployer les conteneurs

Les deux sites FoxIDs sont configurés avec les images Docker. Et éventuellement configurés pour utiliser uniquement HTTP ou HTTP/HTTPS avec un certificat de développement. Les images officielles MongoDB et Redis sont tirées depuis Docker Hub.

Pull secret et configuration Docker Définissez le nom d’utilisateur avec votre ID client et le mot de passe avec votre pull secret pour le registre Docker de FoxIDs, puis authentifiez Docker.

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

Mettez à jour 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

Sélectionnez la version depuis les versions de FoxIDs, puis récupérez les images :

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

Fournisseur d’e-mail Vous pouvez configurer un fournisseur d’e-mail global ou plus tard configurer des fournisseurs d’e-mail par environnement. FoxIDs prend en charge l’envoi d’e-mails avec SendGrid et SMTP.

Le fournisseur e-mail global est configuré dans le fichier docker-compose-image.yaml sur le service foxids dans la section environment:. Cet exemple montre comment ajouter Outlook / Microsoft 365 avec SMTP :

- name: "Settings__Smtp__FromEmail"
    value: "my@email-address.org"
- name: "Settings__Smtp__FromName" # Optional from name associated to the email address
    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"

Déployer Créez le déploiement avec des images Docker et HTTP :

  1. Basé sur des images Docker et en HTTP
docker-compose -f docker-compose-image.yaml -f docker-compose.development-http.yaml up -d
  1. Basé sur des images Docker et en HTTP/HTTPS - nécessite la présence du certificat de développement.
docker-compose -f docker-compose-image.yaml -f docker-compose.development-https.yaml up -d

Première connexion

Ouvrez votre site FoxIDs Control (http://localhost:8801 ou https://localhost:8401) dans un navigateur. Il devrait rediriger vers le site FoxIDs où vous vous connectez avec l’utilisateur admin par défaut admin@foxids.com et le mot de passe FirstAccess! (vous devez changer le mot de passe à la première connexion). Vous êtes ensuite redirigé vers le site FoxIDs Control dans le tenant master. Vous pouvez ajouter d’autres administrateurs dans le tenant master.

Ensuite, cliquez sur le tenant main et authentifiez-vous à nouveau avec le même utilisateur admin par défaut admin@foxids.com et le mot de passe FirstAccess! (vous devez à nouveau changer le mot de passe).

L’utilisateur admin par défaut et le mot de passe sont les mêmes pour le tenant master et le tenant main, mais il s’agit de deux utilisateurs différents.

Vous êtes maintenant connecté au tenant main et pouvez commencer à configurer vos applications et méthodes d’authentification.

Commandes utiles

Voici une liste de commandes pouvant être utiles pendant le déploiement pour voir les détails et effectuer des modifications de déploiement.

Détruire le déploiement

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

Arrêter un conteneur

docker stop xxx

Supprimer un conteneur

docker rm xxx

Supprimer une image

docker rmi xxx

Lister les volumes

docker volume ls

Supprimer un volume

docker volume rm xxx

Supprimer tous les volumes inutilisés

docker volume prune

Afficher les logs d’un conteneur

Docker logs xxx

Votre confidentialité

Nous utilisons des cookies pour améliorer votre expérience sur nos sites. Cliquez sur « Accepter tous les cookies » pour accepter l'utilisation des cookies. Pour refuser les cookies non essentiels, cliquez sur « Cookies nécessaires uniquement ».

Consultez notre politique de confidentialité pour en savoir plus