Files
sriphat-dataplatform/01-infra/docker-compose.yml
2026-02-16 17:33:10 +07:00

63 lines
1.5 KiB
YAML

services:
nginx-proxy:
image: jc21/nginx-proxy-manager:latest
container_name: nginx-proxy-manager
ports:
- "8020:80"
- "8043:443"
- "8021:81"
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
environment:
- TZ=${TZ:-Asia/Bangkok}
networks:
- shared_data_network
restart: unless-stopped
keycloak:
image: quay.io/keycloak/keycloak:23.0
container_name: keycloak
command: start-dev
environment:
KC_BOOTSTRAP_ADMIN_USERNAME: ${KEYCLOAK_ADMIN}
KC_BOOTSTRAP_ADMIN_PASSWORD: ${KEYCLOAK_ADMIN_PASSWORD}
KC_DB: postgres
KC_DB_URL: jdbc:postgresql://postgres:5432/${DB_NAME}
KC_DB_USERNAME: ${DB_USER}
KC_DB_PASSWORD: ${DB_PASSWORD}
KC_HOSTNAME_STRICT: "false"
KC_HTTP_ENABLED: "true"
KC_PROXY: edge
ports:
- "8080:8080"
networks:
- shared_data_network
restart: unless-stopped
depends_on:
- postgres
postgres:
image: postgres:15-alpine
container_name: postgres
environment:
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_USER: ${DB_USER}
POSTGRES_DB: ${DB_NAME}
TZ: ${TZ:-Asia/Bangkok}
volumes:
- ./data/postgres:/var/lib/postgresql/data
- ./init:/docker-entrypoint-initdb.d
networks:
- shared_data_network
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${DB_USER}"]
interval: 10s
timeout: 5s
retries: 5
networks:
shared_data_network:
external: true