Docker
Implemente FoxIDs en Docker Desktop en una máquina de dev o test.
Esto describe cómo realizar un despliegue predeterminado y iniciar sesión por primera vez.
Una instalación de FoxIDs es como un bucket, no hay dependencias externas y es fácil lograr una disponibilidad muy alta con poco esfuerzo.
FoxIDs se actualiza actualizando las dos imágenes Docker www.foxids.com/foxids:x.x.x y www.foxids.com/foxidscontrol:x.x.x
a una nueva versión. Las nuevas versiones de FoxIDs son backward compatible. Revise las notas de versión antes de actualizar. Allí también puede encontrar la versión actual de la imagen Docker.
Se requiere una licencia válida para acceder a las versiones de FoxIDs. Desde allí, puede generar un secret para autenticarse en el registro de imágenes Docker en www.foxids.com, que usa autenticación Basic.
Requisitos previos:
- Tiene Docker Desktop instalado.
- Tiene conocimientos básicos sobre Docker.
Esta es una lista de comandos útiles al final de esta descripción.
Este despliegue incluye:
- Dos sitios web, uno para FoxIDs y otro para FoxIDs Control (the admin Client y API) en dos imágenes Docker
www.foxids.com/foxids:x.x.xywww.foxids.com/foxidscontrol:x.x.x. - Los dos sitios web están expuestos en dos puertos diferentes.
- MongoDB es una base de datos NoSQL y contiene todos los datos, incluidos tenants, entornos y usuarios. Desplegado con la imagen oficial de Docker MongoDB.
- La caché Redis mantiene secuencias (p. ej., login y logout), caché de datos para mejorar el rendimiento y maneja contadores para asegurar la autenticación contra diversas ataques. Desplegado con la imagen oficial de Docker Redis.
- Los logs se escriben en
stdoutdonde Docker puede recogerlos.
Opcionalmente use PostgreSql en lugar de MongoDB y opcionalmente prescinda de Redis y guarde los datos de caché en la base de datos (MongoDB o PostgreSql). Sin caché Redis debe seleccionar
Nonecomo data cache.
Despliegue
El despliegue se realiza en el orden descrito.
Prepararse
Descargue los archivos de configuración Docker yaml aquí y colóquelos en una carpeta en su equipo, por ejemplo C:\FoxIDs\Docker.
Abra una consola y navegue a la carpeta Docker.
Volumen
Necesita un volumen para MongoDB con el nombre foxids-data donde se guardan los datos.
Cree un volume para MongoDB en el sistema de archivos anfitrión de Windows, por ejemplo en la carpeta C:\data\foxids-data. Importante: cree las carpetas antes de ejecutar el comando.
docker volume create --driver local --opt type=none --opt device=C:\data\foxids-data --opt o=bind foxids-data
O cree un volume para MongoDB gestionado por Docker.
docker volume create foxids-data
Desplegar contenedores
Los dos sitios web de FoxIDs se configuran con las imágenes Docker. Y opcionalmente se configuran para usar solo HTTP o HTTP/HTTPS con un certificado de desarrollo. Las imágenes oficiales de MongoDB y Redis se descargan desde Docker Hub.
Pull secret y setup de Docker Configure el nombre de usuario con su ID de cliente y la contraseña con su pull secret para el registro Docker de FoxIDs, y luego autentique Docker.
docker login www.foxids.com --username <customer-id> --password <pull-secret>
Actualice 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
Seleccione la versión en versiones de FoxIDs, y después descargue las imágenes:
docker-compose -f docker-compose-image.yaml pull
Proveedor de correo Puede configurar un proveedor de correo global o más tarde configurar proveedores de correo por entorno. FoxIDs admite enviar correos con SendGrid y SMTP.
El proveedor de correo global se configura en el archivo docker-compose-image.yaml en el servicio foxids en la sección environment:.
Este ejemplo muestra cómo agregar Outlook / Microsoft 365 con 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"
Desplegar Cree el despliegue con imágenes Docker y HTTP:
- Basado en imágenes Docker y con HTTP
docker-compose -f docker-compose-image.yaml -f docker-compose.development-http.yaml up -d
- Basado en imágenes Docker y con HTTP/HTTPS - requiere que el certificado de desarrollo esté presente.
docker-compose -f docker-compose-image.yaml -f docker-compose.development-https.yaml up -d
Primer inicio de sesión
Abra su sitio FoxIDs Control (http://localhost:8801 o https://localhost:8401) en un navegador.
Debe redirigir al sitio FoxIDs donde inicia sesión con el usuario admin predeterminado admin@foxids.com y la contraseña FirstAccess! (debe cambiar la contraseña en el primer inicio de sesión).
Luego se le redirige de vuelta al sitio FoxIDs Control en el tenant master. Puede agregar más administradores en el tenant master.
Luego haga clic en el tenant main e inicie sesión nuevamente con el mismo usuario admin predeterminado admin@foxids.com y la contraseña FirstAccess! (de nuevo, debe cambiar la contraseña).
El usuario admin predeterminado y la contraseña son los mismos para el tenant
mastery el tenantmain, pero son dos usuarios diferentes.
Ahora ha iniciado sesión en el tenant main y puede comenzar a configurar sus aplicaciones y métodos de autenticación.
Comandos útiles
Esta es una lista de comandos que pueden ser útiles durante el despliegue para ver detalles y realizar cambios.
Destruir el despliegue
docker-compose -f docker-compose-image.yaml -f docker-compose.development-http.yaml down
# o
docker-compose -f docker-compose-image.yaml -f docker-compose.development-https.yaml down
Detener contenedor
docker stop xxx
Eliminar contenedor
docker rm xxx
Eliminar imagen
docker rmi xxx
Listar volúmenes
docker volume ls
Eliminar volumen
docker volume rm xxx
Eliminar todos los volúmenes no utilizados
docker volume prune
Mostrar logs en contenedor
Docker logs xxx