Keycloak
Keycloak is an open-source identity and access management (IAM) system developed by Red Hat. It provides robust authentication, authorization, and security capabilities for web and mobile applications. Keycloak allows organizations to secure their applications and services by centralizing user authentication, role-based access control, single sign-on (SSO), and social login integration. It supports various identity standards, including OpenID Connect, OAuth 2.0, SAML, and more, making it a versatile solution for managing user identities and securing resources. Keycloak is highly customizable, extensible, and can be integrated with a wide range of platforms and services, making it a popular choice for enhancing the security and user management of applications.
version: '3'
volumes:
postgres_data:
driver: local
services:
postgres:
container_name: keycloak_db
restart: always
image: postgres:14.5
volumes:
- /home/[user]/docker/keycloak/postgresql:/var/lib/postgresql/data
environment:
POSTGRES_DB: keycloak
POSTGRES_USER: [DBUSER]
POSTGRES_PASSWORD: [DBPASSWORD]
keycloak:
container_name: keycloak_app
restart: always
image: quay.io/keycloak/keycloak:legacy
volumes:
- /home/[user]/docker/keycloak/themes/themename:/opt/jboss/keycloak/themes/themename
environment:
DB_VENDOR: POSTGRES
DB_ADDR: postgres
DB_DATABASE: keycloak
DB_USER: [DBUSER]
DB_SCHEMA: public
DB_PASSWORD: [DBPASSWORD]
KEYCLOAK_USER: [Keycloak_user]
KEYCLOAK_PASSWORD: [Keycloak_password]
PROXY_ADDRESS_FORWARDING: "true"
LETSENCRYPT_HOST: [hostname]
LETSENCRYPT_EMAIL: [email]
KEYCLOAK_HTTP_PORT: 8080
KEYCLOAK_HTTPS_PORT: 8443
ports:
- [port]:8443
depends_on:
- postgres