keycloak-docker-compose/docker-compose.yml

78 lines
1.7 KiB
YAML

version: "3.7"
services:
sso:
image: quay.io/keycloak/keycloak:20.0.3
container_name: "keycloak"
volumes:
- /etc/localtime:/etc/localtime:ro
- ./keycloak.conf:/opt/keycloak/conf/keycloak.conf
command:
- start-dev
environment:
- KEYCLOAK_ADMIN=admin
- KEYCLOAK_ADMIN_PASSWORD=changeme
- PROXY_ADDRESS_FORWARDING=true
- VIRTUAL_HOST=dev-keycloak.mydomain.com
- VIRTUAL_PORT=8080
- LETSENCRYPT_HOST=dev-keycloak.mydomain.com
networks:
- internal
database:
image: postgres:13
container_name: "postgres"
environment:
- POSTGRES_USER=keycloak
- POSTGRES_DATABASE=keycloak
- POSTGRES_PASSWORD=changeme
volumes:
- postgres_data:/var/lib/postgresql/data
networks:
- internal
proxy:
image: nginxproxy/nginx-proxy
container_name: "nginx"
ports:
- "443:443"
- "80:80"
volumes:
- conf:/etc/nginx/conf.d
- vhost:/etc/nginx/vhost.d
- html:/usr/share/nginx/html
- certs:/etc/nginx/certs
- /var/run/docker.sock:/tmp/docker.sock:ro
networks:
- internal
acme-companion:
image: nginxproxy/acme-companion
container_name: "acme-proxy"
environment:
- DEFAULT_EMAIL=<YOUREMAIL@YOURDOMAIN.COM>
volumes_from:
- proxy
volumes:
- certs:/etc/nginx/certs
- acme:/etc/acme.sh
- /var/run/docker.sock:/var/run/docker.sock:ro
networks:
- internal
networks:
internal:
driver: bridge
driver_opts:
# Openstack spezifisch, kann auf 1500 gelassen werden wenn ihr auf
# Bare Metal lauft.
com.docker.network.driver.mtu: 1450
volumes:
postgres_data:
conf:
vhost:
html:
certs:
acme: