65 lines
1.7 KiB
YAML
65 lines
1.7 KiB
YAML
---
|
|
services:
|
|
ts-keycloak:
|
|
image: tailscale/tailscale:latest
|
|
container_name: ts-keycloak
|
|
hostname: sso
|
|
environment:
|
|
- TS_AUTHKEY=${TAILSCALE_OAUTH_KEY}
|
|
- TS_EXTRA_ARGS=--advertise-tags=${TAILSCALE_TAGS}
|
|
- TS_SERVE_CONFIG=/config/keycloak.json
|
|
- TS_STATE_DIR=/var/lib/tailscale
|
|
volumes:
|
|
- ts-keycloak-state:/var/lib/tailscale
|
|
- ${PWD}/ts-keycloak/config:/config
|
|
- /dev/net/tun:/dev/net/tun
|
|
cap_add:
|
|
- net_admin
|
|
- sys_module
|
|
restart: unless-stopped
|
|
|
|
postgres:
|
|
image: postgres:15
|
|
restart: unless-stopped
|
|
ports:
|
|
- 5432:5432
|
|
environment:
|
|
POSTGRES_DB: ${POSTGRES_DB}
|
|
POSTGRES_USER: ${POSTGRES_USER}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASS}
|
|
volumes:
|
|
- postgres-data:/var/lib/postgresql/data
|
|
- ./postgres/initscripts:/docker-entrypoint-initdb.d
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U $POSTGRES_USER -d $POSTGRES_DB"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
keycloak:
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
container_name: keycloak
|
|
environment:
|
|
KC_DB: postgres
|
|
KC_DB_URL_HOST: postgres
|
|
KC_DB_URL_PORT: 5432
|
|
KC_DB_SCHEMA: ${POSTGRES_DB}
|
|
KC_DB_USERNAME: ${POSTGRES_USER}
|
|
KC_DB_PASSWORD: ${POSTGRES_PASS}
|
|
KEYCLOAK_ADMIN: ${KEYCLOAK_ADMIN}
|
|
KEYCLOAK_ADMIN_PASSWORD: ${KEYCLOAK_ADMIN_PASSWORD}
|
|
KC_HOSTNAME: ${KC_HOSTNAME}
|
|
KC_HTTP_ENABLED: true
|
|
KC_PROXY_HEADERS: xforwarded
|
|
KC_HOSTNAME_STRICT: false
|
|
image: quay.io/keycloak/keycloak:latest
|
|
restart: unless-stopped
|
|
command: start
|
|
|
|
volumes:
|
|
ts-keycloak-state:
|
|
driver: local
|
|
postgres-data:
|
|
driver: local |