Diferencia entre revisiones de «Keycloak»
Ir a la navegación
Ir a la búsqueda
Sin resumen de edición |
Sin resumen de edición |
||
| Línea 25: | Línea 25: | ||
=== Certificados SSL === | === Certificados SSL === | ||
Para poder arrancar la Keycloak hace falta tener certificados SSL/TLS. | Para poder arrancar la Keycloak hace falta tener certificados SSL/TLS. | ||
Nombres: | |||
* tls.crt: Certificado Fullchain (X.509 PEM) | |||
* tls.key: Clave RSA (PKCS#8) | |||
'''Nota''': en DEV usaremos auto-firmados y en PRO de Let's Encrypt. | '''Nota''': en DEV usaremos auto-firmados y en PRO de Let's Encrypt. | ||
=== Crear volumen para certificados SSL === | |||
* Crear volumen "keycloak-certs" | |||
<syntaxhighlight lang="Bash">docker volume create keycloak-certs</syntaxhighlight> | |||
* Copiar certificados en el "ldap-ssl": | |||
<syntaxhighlight lang="Bash"> | |||
cd /c/Users/guzman/Desktop/temp | |||
docker create --name temp-copia -v keycloak-certs:/data alpine | |||
docker cp entrardev.culturetas.net-fullchain.crt temp-copia:/data/tls.crt | |||
docker cp entrardev.culturetas.net.key temp-copia:/data/tls.key | |||
docker cp culturetas-root-ca.crt temp-copia:/data/ca.crt | |||
docker rm temp-copia | |||
</syntaxhighlight> | |||
=== Ejecutar contenedor en Docker Desktop (DEV) === | === Ejecutar contenedor en Docker Desktop (DEV) === | ||
Revisión del 21:07 22 mar 2026
Instalación Keycloak en Docker
Instalación de dhi.io/keycloak en Docker. Vamos a usar una imagen "Docker Hardened Image" (imágenes seguras, mínimas y listas para producción).
Requisitos
Para poder realizar esta configuración se necesita:
- Servidor GNU Linux (ver Securizar Ubuntu Server)
- Cortafuegos FirewallD (UFW tiene problemas con Docker)
- Docker Engine (ver Docker Engine)
- Módulo: Docker Compose (para PRO)
- Nginx (ver LEMP)
- Cuenta en Docker Hub
- Necesario para acceder a Docker Hardened Image.
Entorno de DEV
Como entorno de DEV se va a usar Docker Desktop.
Login en catálogo DHI
docker login dhi.io
Descargar imagen
Vamos a usar la imagen que es la latest a día de hoy (26).
docker pull dhi.io/keycloak:26
Certificados SSL
Para poder arrancar la Keycloak hace falta tener certificados SSL/TLS. Nombres:
- tls.crt: Certificado Fullchain (X.509 PEM)
- tls.key: Clave RSA (PKCS#8)
Nota: en DEV usaremos auto-firmados y en PRO de Let's Encrypt.
Crear volumen para certificados SSL
- Crear volumen "keycloak-certs"
docker volume create keycloak-certs
- Copiar certificados en el "ldap-ssl":
cd /c/Users/guzman/Desktop/temp
docker create --name temp-copia -v keycloak-certs:/data alpine
docker cp entrardev.culturetas.net-fullchain.crt temp-copia:/data/tls.crt
docker cp entrardev.culturetas.net.key temp-copia:/data/tls.key
docker cp culturetas-root-ca.crt temp-copia:/data/ca.crt
docker rm temp-copia
Ejecutar contenedor en Docker Desktop (DEV)
Pruebas
Entorno de PRO
En el entorno de PRO se va a desplegar transformando la configuración de Docker Desktop en fichero YAML de Docker Composer.
Configurar Virtual Host para Keycloak
- Añadir Virtual Host:
sudo -i
vi /etc/nginx/sites-available/entrar.culturetas.net
- Crear carpeta para VirtualHost:
mkdir /var/www/entrar.culturetas.net
- Activar Virtual Host:
ln -s /etc/nginx/sites-available/entrar.culturetas.net /etc/nginx/sites-enabled/entrar.culturetas.net
systemctl reload nginx
Generar certificados Let's Encrypt
certbot --nginx
Habilitar LDAPS en FirewallD
Crear carpetas para Keycloak
mkdir -p /opt/keycloak/data
Generar fichero YAML
vi /opt/keycloak/compose.yaml
Arrancar OpenLDAP (manual)
cd /opt/keycloak
docker compose up -d
Parar OpenLDAP (manual)
cd /opt/keycloak
docker compose down
Arrancar OpenLDAP (con SystemD)
- Crear fichero SystemD
vi /etc/systemd/system/keycloak.service
- Arrancar y habilitar
systemctl daemon-reload
systemctl start keycloak
systemctl enabled keycloak