diff --git a/.env.example b/.env.example index 0fc203ec..e19fdad4 100644 --- a/.env.example +++ b/.env.example @@ -1067,3 +1067,15 @@ SOKETI_METRICS_SERVER_PORT=9601 ### ONEDEV ################################################## ONEDEV_HTTP_PORT=6610 ONEDEV_SSH_PORT=6611 + +### Keycloak ################################################ +KEYCLOAK_VERSION=latest +KEYCLOAK_POSTGRES_INIT=true +KEYCLOAK_HTTP_PORT=8081 +KEYCLOAK_CREATE_ADMIN_USER=true +KEYCLOAK_ADMIN_USER='admin' +KEYCLOAK_ADMIN_PASSWORD='secret' +KEYCLOAK_POSTGRES_HOST=postgres +KEYCLOAK_POSTGRES_USER=laradock_keycloak +KEYCLOAK_POSTGRES_PASSWORD=laradock_keycloak +KEYCLOAK_POSTGRES_DB=laradock_keycloak diff --git a/docker-compose.yml b/docker-compose.yml index 19f1518b..5d4fc027 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -631,6 +631,10 @@ services: - GITLAB_POSTGRES_USER=${GITLAB_POSTGRES_USER} - GITLAB_POSTGRES_PASSWORD=${GITLAB_POSTGRES_PASSWORD} - GITLAB_POSTGRES_DB=${GITLAB_POSTGRES_DB} + - KEYCLOAK_POSTGRES_INIT=${KEYCLOAK_POSTGRES_INIT} + - KEYCLOAK_POSTGRES_USER=${KEYCLOAK_POSTGRES_USER} + - KEYCLOAK_POSTGRES_PASSWORD=${KEYCLOAK_POSTGRES_PASSWORD} + - KEYCLOAK_POSTGRES_DB=${KEYCLOAK_POSTGRES_DB} - JUPYTERHUB_POSTGRES_INIT=${JUPYTERHUB_POSTGRES_INIT} - JUPYTERHUB_POSTGRES_USER=${JUPYTERHUB_POSTGRES_USER} - JUPYTERHUB_POSTGRES_PASSWORD=${JUPYTERHUB_POSTGRES_PASSWORD} @@ -2100,3 +2104,24 @@ services: - frontend - backend restart: always + + ### keycloak ################################################## + keycloak: + image: bitnami/keycloak:${KEYCLOAK_VERSION} + ports: + - "${KEYCLOAK_HTTP_PORT}:${KEYCLOAK_HTTP_PORT}" + environment: + - KEYCLOAK_HTTP_PORT=${KEYCLOAK_HTTP_PORT} + - KEYCLOAK_CREATE_ADMIN_USER=${KEYCLOAK_CREATE_ADMIN_USER} + - KEYCLOAK_ADMIN_USER=${KEYCLOAK_ADMIN_USER} + - KEYCLOAK_ADMIN_PASSWORD=${KEYCLOAK_ADMIN_PASSWORD} + - KEYCLOAK_DATABASE_HOST=${KEYCLOAK_POSTGRES_HOST} + - KEYCLOAK_DATABASE_PORT=${POSTGRES_PORT} + - KEYCLOAK_DATABASE_NAME=${KEYCLOAK_POSTGRES_DB} + - KEYCLOAK_DATABASE_USER=${KEYCLOAK_POSTGRES_USER} + - KEYCLOAK_DATABASE_PASSWORD=${KEYCLOAK_POSTGRES_PASSWORD} + depends_on: + - postgres + networks: + - frontend + - backend