Skip to content

Commit 44f2d52

Browse files
authored
Merge pull request coollabsio#3109 from christiankolbow/template-keycloak
feat: add keycloak template
2 parents ef821b2 + 82f96fe commit 44f2d52

File tree

3 files changed

+138
-0
lines changed

3 files changed

+138
-0
lines changed

public/svgs/keycloak.svg

Lines changed: 55 additions & 0 deletions
Loading
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# documentation: https://www.keycloak.org
2+
# slogan: Keycloak is an open-source Identity and Access Management tool.
3+
# tags: keycloak,identity,access,management,iam,authentication,authorization,security,oauth2,openid-connect,sso,single-sign-on,saml,rbac,ldap,jwt,social-login
4+
# logo: svgs/keycloak.svg
5+
# port: 8080
6+
7+
services:
8+
keycloak:
9+
image: quay.io/keycloak/keycloak:25.0.2
10+
command:
11+
- start
12+
environment:
13+
- TZ=${TIMEZONE:-UTC}
14+
- KEYCLOAK_ADMIN=${SERVICE_USER_ADMIN}
15+
- KEYCLOAK_ADMIN_PASSWORD=${SERVICE_PASSWORD_ADMIN}
16+
- KC_DB=postgres
17+
- KC_DB_USERNAME=${SERVICE_USER_DATABASE}
18+
- KC_DB_PASSWORD=${SERVICE_PASSWORD_64_DATABASE}
19+
- KC_DB_URL_PORT=5432
20+
- KC_DB_URL=jdbc:postgresql://postgres/${POSTGRESQL_DATABASE:-keycloak}
21+
- KC_HOSTNAME=${SERVICE_FQDN_KEYCLOAK_8080}
22+
- KC_HTTP_ENABLED=true
23+
- KC_HEALTH_ENABLED=true
24+
- KC_PROXY_HEADERS=xforwarded
25+
volumes:
26+
- keycloak-data:/opt/keycloak/data
27+
depends_on:
28+
postgres:
29+
condition: service_healthy
30+
healthcheck:
31+
test:
32+
[
33+
"CMD-SHELL",
34+
"exec 3<>/dev/tcp/127.0.0.1/9000;echo -e 'GET /health/ready HTTP/1.1\r\nhost: http://localhost\r\nConnection: close\r\n\r\n' >&3;if [ $? -eq 0 ]; then echo 'Healthcheck Successful';exit 0;else echo 'Healthcheck Failed';exit 1;fi;",
35+
]
36+
interval: 5s
37+
timeout: 20s
38+
retries: 10
39+
postgres:
40+
image: postgres:16-alpine
41+
volumes:
42+
- postgresql-data:/var/lib/postgresql/data
43+
environment:
44+
- POSTGRES_USER=${SERVICE_USER_DATABASE}
45+
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_64_DATABASE}
46+
- POSTGRES_DB=${POSTGRESQL_DATABASE:-keycloak}
47+
healthcheck:
48+
test:
49+
- CMD-SHELL
50+
- pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}
51+
interval: 5s
52+
timeout: 20s
53+
retries: 10

templates/compose/keycloak.yaml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# documentation: https://www.keycloak.org
2+
# slogan: Keycloak is an open-source Identity and Access Management tool.
3+
# tags: keycloak,identity,access,management,iam,authentication,authorization,security,oauth2,openid-connect,sso,single-sign-on,saml,rbac,ldap,jwt,social-login
4+
# logo: svgs/keycloak.svg
5+
# port: 8080
6+
7+
services:
8+
keycloak:
9+
image: quay.io/keycloak/keycloak:25.0.2
10+
command:
11+
- start
12+
environment:
13+
- TZ=${TIMEZONE:-UTC}
14+
- KEYCLOAK_ADMIN=${SERVICE_USER_ADMIN}
15+
- KEYCLOAK_ADMIN_PASSWORD=${SERVICE_PASSWORD_ADMIN}
16+
- KC_HOSTNAME=${SERVICE_FQDN_KEYCLOAK_8080}
17+
- KC_HTTP_ENABLED=true
18+
- KC_HEALTH_ENABLED=true
19+
- KC_PROXY_HEADERS=xforwarded
20+
volumes:
21+
- keycloak-data:/opt/keycloak/data
22+
healthcheck:
23+
test:
24+
[
25+
"CMD-SHELL",
26+
"exec 3<>/dev/tcp/127.0.0.1/9000;echo -e 'GET /health/ready HTTP/1.1\r\nhost: http://localhost\r\nConnection: close\r\n\r\n' >&3;if [ $? -eq 0 ]; then echo 'Healthcheck Successful';exit 0;else echo 'Healthcheck Failed';exit 1;fi;",
27+
]
28+
interval: 5s
29+
timeout: 20s
30+
retries: 10

0 commit comments

Comments
 (0)