Introductie
Keycloak is een open-source identiteits- en toegangsbeheersolution waarmee je gebruikersauthenticatie en -autorisatie kunt beheren. Zelf hosten van Keycloak op een Virtual Private Server (VPS) geeft je volledige controle over je authenticatieproces, waardoor het een populaire keuze is onder ontwikkelaars en homelab-enthousiastelingen. In deze gids lopen we de stappen door om Keycloak op een VPS te installeren, met speciale aandacht voor het gebruik van Docker om de deployment te vereenvoudigen.
Het juiste VPS-aanbieder kiezen
Bij het selecteren van een VPS voor het zelf hosten van Keycloak, overweeg prestaties, prijs en beschikbare middelen. Hier is een vergelijking van enkele top VPS-aanbieders waarmee je rekening kunt houden voor je Keycloak-implementatie:
| Aanbieder | Maandprijs | RAM | CPU-Kernen | Opslag |
|---|---|---|---|---|
| Contabo VPS | 5.99 EUR | 4 GB | 2 | 300 GB SSD |
| Hetzner Cloud | 4.15 EUR | 2 GB | 1 | 20 GB SSD |
| DigitalOcean | 6 USD | 1 GB | 1 | 25 GB SSD |
| Vultr | 6 USD | 1 GB | 1 | 25 GB SSD |
| Linode (Akamai) | 5 USD | 2 GB | 1 | 50 GB SSD |
Je kunt een volledige VPS-vergelijking vinden voor diepgaandere inzichten.
Voorwaarden
Voordat we beginnen, zorg dat je het volgende hebt:
- Een VPS met voldoende resources (minimaal 2 GB RAM aanbevolen).
- Een domeinnaam die naar je VPS IP-adres wijst (optioneel maar aanbevolen).
- Basiskennis van Linux command line en SSH.
Keycloak installeren op VPS
Stap 1: Toegang krijgen tot je VPS
Maak verbinding met je VPS via SSH. Vervang your-user en your-ip door je gebruikersnaam en VPS IP-adres.
ssh your-user@your-ip
Stap 2: Docker installeren
Het gebruik van Docker om Keycloak te draaien maakt de setup en het beheer veel eenvoudiger. Hier is hoe je Docker kunt installeren op een Ubuntu-server:
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install -y docker-ce
Om de installatie te controleren:
docker --version
Stap 3: Keycloak starten met Docker
Om Keycloak als een Docker-container uit te voeren, voer je de volgende commandoโs uit:
sudo docker pull jboss/keycloak
sudo docker run -d -p 8080:8080 --name keycloak \
-e KEYCLOAK_USER=admin \
-e KEYCLOAK_PASSWORD=password \
jboss/keycloak
In dit commando worden KEYCLOAK_USER en KEYCLOAK_PASSWORD ingesteld om een beheerder te creรซren. Zorg dat je deze wijzigt naar sterke beveiligingsgegevens.
Stap 4: Toegang tot Keycloak
Na het starten van de container, kun je Keycloak openen door te navigeren naar http://your-vps-ip:8080/auth in je webbrowser. Gebruik de ingestelde inloggegevens om in te loggen.
Stap 5: Configureren van Keycloak
Bij de eerste login kun je beginnen met het configureren van je realms, clients en gebruikers. Keycloak biedt uitgebreide documentatie om je te begeleiden bij deze configuraties.
Best practices voor zelf hosten van Keycloak
- Beveilig je VPS: Werk je systeem regelmatig bij en gebruik een firewall om toegang te beperken.
- Activeer HTTPS: Gebruik Letโs Encrypt voor het aanmaken van een gratis SSL-certificaat en configureer Keycloak om via HTTPS te draaien.
- Maak regelmatig back-ups: Back-up regelmatig je Keycloak-database en containerinstellingen.
FAQs
1. Kan ik Keycloak draaien zonder Docker?
Ja, je kunt Keycloak ook zonder Docker installeren. Je kunt de standalone server downloaden van de Keycloak website en de installatie-instructies volgen die passen bij jouw besturingssysteem. Echter, met Docker is de deployment en het beheer eenvoudiger, en zijn er minder afhankelijkheden die conflicteren.
2. Hoe schaal ik Keycloak op een VPS?
Om Keycloak te schalen op een VPS, kun je meerdere instances van Keycloak achter een load balancer plaatsen. Overweeg het gebruik van Docker Compose of Kubernetes voor het orkestreren van meerdere containers. Elke instance moet dezelfde database delen om sessieconsistentie te behouden. Zorg dat je VPS voldoende resources heeft om de extra belasting aan te kunnen.
3. Welke databases kan Keycloak gebruiken?
Keycloak ondersteunt diverse databases, waaronder PostgreSQL, MySQL, MariaDB en zelfs H2 voor ontwikkelingsdoeleinden. Voor productieomgevingen wordt PostgreSQL of MySQL aanbevolen vanwege hun robuustheid en schaalbaarheid. Je kunt de databaseverbinding configureren in standalone.xml of via omgevingsvariabelen in Docker.
Door deze instructies te volgen, kun je succesvol Keycloak zelf hosten op een VPS en heb je volledige controle over je identiteits- en toegangsbeheer. Wil je meer inzichten in zelf-hosting van applicaties? Overweeg dan om communities zoals r/selfhosted of repositories zoals awesome-selfhosted te verkennen voor extra resources en begeleiding. --- End ---