This is an open-source Identity and Access Management solution that lets you add authentication to applications and secure services with minimum effort. You no longer need to deal with storing or authenticating users. It's all handled centrally.
Key features include:
services:
postgres:
image: postgres:15
container_name: keycloak_db
environment:
POSTGRES_DB: keycloak
POSTGRES_USER: keycloak
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
volumes:
- ./postgres-data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U keycloak"]
interval: 10s
timeout: 5s
retries: 5
keycloak:
image: quay.io/keycloak/keycloak:latest
container_name: keycloak
command: start-dev
environment:
KC_DB: postgres
KC_DB_URL: jdbc:postgresql://postgres:5432/keycloak
KC_DB_USERNAME: keycloak
KC_DB_PASSWORD: ${POSTGRES_PASSWORD}
KEYCLOAK_ADMIN: ${KEYCLOAK_ADMIN}
KEYCLOAK_ADMIN_PASSWORD: ${KEYCLOAK_ADMIN_PASSWORD}
KC_PROXY: edge
ports:
- "8080:8080"
depends_on:
postgres:
condition: service_healthy
volumes:
- ./providers:/opt/keycloak/providers
- ./themes:/opt/keycloak/themesPOSTGRES_PASSWORD=your_secure_database_password
KEYCLOAK_ADMIN=admin
KEYCLOAK_ADMIN_PASSWORD=your_secure_admin_passwordAuto-fetched about 24 hours ago
Auto-fetched about 24 hours ago