Update Docker & Kubernetes/Docker/Docker Compose/Keycloak.md
This commit is contained in:
@ -27,8 +27,8 @@
|
|||||||
timeout: 5s
|
timeout: 5s
|
||||||
retries: 5
|
retries: 5
|
||||||
networks:
|
networks:
|
||||||
docker_network:
|
keycloak_internal_network: # Network for internal communication
|
||||||
ipv4_address: 192.168.5.3
|
ipv4_address: 172.16.238.3 # Static IP for PostgreSQL in internal network
|
||||||
|
|
||||||
keycloak:
|
keycloak:
|
||||||
image: quay.io/keycloak/keycloak:23.0.6
|
image: quay.io/keycloak/keycloak:23.0.6
|
||||||
@ -37,14 +37,13 @@
|
|||||||
- /srv/containers/keycloak/themes:/opt/keycloak/themes
|
- /srv/containers/keycloak/themes:/opt/keycloak/themes
|
||||||
- /srv/containers/keycloak/base-theme:/opt/keycloak/themes/base
|
- /srv/containers/keycloak/base-theme:/opt/keycloak/themes/base
|
||||||
environment:
|
environment:
|
||||||
TZ: America/Denver # (1)
|
TZ: America/Denver
|
||||||
KC_PROXY_ADDRESS_FORWARDING: true # (2)
|
KC_PROXY_ADDRESS_FORWARDING: true
|
||||||
KC_HOSTNAME_STRICT: false
|
KC_HOSTNAME_STRICT: false
|
||||||
KC_HOSTNAME: auth.bunny-lab.io # (3)
|
KC_HOSTNAME: auth.bunny-lab.io
|
||||||
KC_PROXY: edge # (4)
|
KC_PROXY: edge
|
||||||
KC_HTTP_ENABLED: true
|
KC_HTTP_ENABLED: true
|
||||||
KC_DB: postgres
|
KC_DB: postgres
|
||||||
# KC_DB_URL: jdbc:postgresql://postgres/${POSTGRES_DB} # (5)
|
|
||||||
KC_DB_USERNAME: ${POSTGRES_USER}
|
KC_DB_USERNAME: ${POSTGRES_USER}
|
||||||
KC_DB_PASSWORD: ${POSTGRES_PASSWORD}
|
KC_DB_PASSWORD: ${POSTGRES_PASSWORD}
|
||||||
KC_DB_URL_HOST: postgres
|
KC_DB_URL_HOST: postgres
|
||||||
@ -53,18 +52,28 @@
|
|||||||
KC_TRANSACTION_RECOVERY: true
|
KC_TRANSACTION_RECOVERY: true
|
||||||
KEYCLOAK_ADMIN: ${KEYCLOAK_ADMIN}
|
KEYCLOAK_ADMIN: ${KEYCLOAK_ADMIN}
|
||||||
KEYCLOAK_ADMIN_PASSWORD: ${KEYCLOAK_ADMIN_PASSWORD}
|
KEYCLOAK_ADMIN_PASSWORD: ${KEYCLOAK_ADMIN_PASSWORD}
|
||||||
# KC_HOSTNAME_DEBUG: true # (6)
|
|
||||||
KC_HEALTH_ENABLED: true
|
KC_HEALTH_ENABLED: true
|
||||||
|
DB_POOL_MAX_SIZE: 20 # Maximum connections in the pool
|
||||||
|
DB_POOL_MIN_SIZE: 5 # Minimum idle connections in the pool
|
||||||
|
DB_POOL_ACQUISITION_TIMEOUT: 30 # Timeout for acquiring a connection from the pool
|
||||||
|
DB_POOL_IDLE_TIMEOUT: 300 # Timeout for closing idle connections
|
||||||
|
JDBC_PARAMS: "connectTimeout=30" # Timeout for establishing a new database connection
|
||||||
ports:
|
ports:
|
||||||
- 8080:8080
|
- 8080:8080
|
||||||
restart: always
|
restart: always
|
||||||
|
|
||||||
depends_on:
|
depends_on:
|
||||||
postgres:
|
postgres:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "curl", "-f", "http://localhost:8080/auth"] # Health check for Keycloak
|
||||||
|
interval: 30s # Health check interval
|
||||||
|
timeout: 10s # Health check timeout
|
||||||
|
retries: 3 # Health check retries
|
||||||
networks:
|
networks:
|
||||||
docker_network:
|
docker_network:
|
||||||
ipv4_address: 192.168.5.2
|
ipv4_address: 192.168.5.2
|
||||||
|
keycloak_internal_network: # Network for internal communication
|
||||||
|
ipv4_address: 172.16.238.2 # Static IP for Keycloak in internal network
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
default:
|
default:
|
||||||
@ -72,6 +81,12 @@
|
|||||||
name: docker_network
|
name: docker_network
|
||||||
docker_network:
|
docker_network:
|
||||||
external: true
|
external: true
|
||||||
|
keycloak_internal_network: # Internal network for private communication
|
||||||
|
driver: bridge # Network driver
|
||||||
|
ipam: # IP address management
|
||||||
|
config:
|
||||||
|
- subnet: 172.16.238.0/24 # Subnet for internal network
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
1. This sets the timezone of the Keycloak server to your timezone. This is not really necessary according to the official documentation, however I just like to add it to all of my containers as a baseline environment variable to add
|
1. This sets the timezone of the Keycloak server to your timezone. This is not really necessary according to the official documentation, however I just like to add it to all of my containers as a baseline environment variable to add
|
||||||
|
Reference in New Issue
Block a user