mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-01-21 22:53:21 +01:00
Added keycloak role
This commit is contained in:
parent
4cae0ec883
commit
70d55829b1
@ -1,12 +1,94 @@
|
|||||||
# docker-keycloak
|
# docker-keycloak
|
||||||
|
|
||||||
## More Information
|
## Description 🌟
|
||||||
- https://www.keycloak.org/
|
|
||||||
- https://github.com/keycloak/keycloak
|
This role automates the setup and configuration of Keycloak in a Docker environment.
|
||||||
- https://en.wikipedia.org/wiki/Keycloak
|
Keycloak is an open-source identity and access management solution.
|
||||||
- https://www.keycloak.org/server/containers
|
The role integrates Keycloak with PostgreSQL as a database and supports operation behind a reverse proxy like NGINX.
|
||||||
- https://www.youtube.com/watch?v=fvxQ8bW0vO8
|
|
||||||
- https://www.keycloak.org/server/reverseproxy
|
## Features ✨
|
||||||
- https://skycloak.io/blog/how-to-run-keycloak-behind-a-reverse-proxy/
|
- Set up Keycloak as a Docker container.
|
||||||
- https://github.com/keycloak/keycloak/issues/12913
|
- Use PostgreSQL as the database.
|
||||||
- https://www.keycloak.org/server/hostname
|
- Customizable configuration of Keycloak environment variables.
|
||||||
|
- Support for running behind a reverse proxy (e.g., NGINX).
|
||||||
|
- Automatic creation and management of Docker Compose files.
|
||||||
|
|
||||||
|
## Requirements 📋
|
||||||
|
- Docker and Docker Compose must be installed on the target system.
|
||||||
|
- A working NGINX proxy for forwarding requests to Keycloak (optional).
|
||||||
|
|
||||||
|
## Variables ⚙️
|
||||||
|
|
||||||
|
### Main Variables
|
||||||
|
|
||||||
|
Defined in `vars/main.yml`:
|
||||||
|
|
||||||
|
| Variable | Description |
|
||||||
|
|---------------------------------|------------------------------------------------------------------|
|
||||||
|
| `docker_compose_project_name` | Name of the Docker Compose project. Default: `keycloak`. |
|
||||||
|
| `database_type` | Type of the database. Default: `postgres`. |
|
||||||
|
| `database_password` | Password for the PostgreSQL database user. |
|
||||||
|
|
||||||
|
### Additional Variables (Templates)
|
||||||
|
|
||||||
|
| Variable | Description |
|
||||||
|
|---------------------------------|------------------------------------------------------------------|
|
||||||
|
| `keycloak_version` | Version of the Keycloak image. |
|
||||||
|
| `domain` | Domain where Keycloak will be accessible. |
|
||||||
|
| `keycloak_administrator_username` | Admin username for Keycloak. |
|
||||||
|
| `keycloak_administrator_password` | Admin password for Keycloak. |
|
||||||
|
| `database_host` | Host of the PostgreSQL database. |
|
||||||
|
| `database_name` | Name of the PostgreSQL database. |
|
||||||
|
| `database_username` | Username for the PostgreSQL database. |
|
||||||
|
| `http_port` | Port where Keycloak will be accessible (default: `8080`). |
|
||||||
|
| `docker_restart_policy` | Docker restart policy (e.g., `always`, `unless-stopped`). |
|
||||||
|
|
||||||
|
## Tasks 🛠️
|
||||||
|
|
||||||
|
The role performs the following main tasks:
|
||||||
|
|
||||||
|
1. **Include database and proxy configuration files:**
|
||||||
|
- Integration of a PostgreSQL database.
|
||||||
|
- Setup of a reverse proxy for the domain.
|
||||||
|
|
||||||
|
2. **Generate `docker-compose.yml`:**
|
||||||
|
- Automatically generate the Docker Compose file based on templates and variables.
|
||||||
|
|
||||||
|
3. **Start Docker containers:**
|
||||||
|
- The role launches the Keycloak project using Docker Compose.
|
||||||
|
|
||||||
|
## Example: Usage 🚀
|
||||||
|
|
||||||
|
Here is an example of how to use this role in a playbook:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
- name: Setup Keycloak with Docker
|
||||||
|
hosts: all
|
||||||
|
vars:
|
||||||
|
domain: "auth.example.com"
|
||||||
|
keycloak_version: "21.1.0"
|
||||||
|
keycloak_administrator_username: "admin"
|
||||||
|
keycloak_administrator_password: "securepassword"
|
||||||
|
database_host: "db.example.com"
|
||||||
|
database_name: "keycloak_db"
|
||||||
|
database_username: "keycloak_user"
|
||||||
|
database_password: "securedbpassword"
|
||||||
|
http_port: 8080
|
||||||
|
docker_restart_policy: "unless-stopped"
|
||||||
|
roles:
|
||||||
|
- docker-keycloak
|
||||||
|
```
|
||||||
|
|
||||||
|
## More Information 📚
|
||||||
|
|
||||||
|
For more details about Keycloak, check out:
|
||||||
|
- [Official Keycloak Documentation](https://www.keycloak.org/)
|
||||||
|
- [GitHub Repository](https://github.com/keycloak/keycloak)
|
||||||
|
- [Setting up Keycloak behind a Reverse Proxy](https://www.keycloak.org/server/reverseproxy)
|
||||||
|
- [Wikipedia][https://en.wikipedia.org/wiki/Keycloak]
|
||||||
|
- [Youtube Tutorial](https://www.youtube.com/watch?v=fvxQ8bW0vO8)
|
||||||
|
---
|
||||||
|
|
||||||
|
### Author ✍️
|
||||||
|
**Kevin Veen-Birkenbach**
|
||||||
|
[veen.world](https://www.veen.world/)
|
Loading…
x
Reference in New Issue
Block a user