livrare lot 2
This commit is contained in:
commit
8ecc78e729
763 changed files with 164593 additions and 0 deletions
155
backend/services/data-layer/docker-compose.local.yml
Normal file
155
backend/services/data-layer/docker-compose.local.yml
Normal file
|
|
@ -0,0 +1,155 @@
|
|||
# =============================================================================
|
||||
# DIDI Platform - Local Data Layer + Keycloak + Kong
|
||||
# For 10.11.10.11 build (does NOT touch 10.11.10.12)
|
||||
# =============================================================================
|
||||
name: didi-infra
|
||||
|
||||
services:
|
||||
# ===========================================================================
|
||||
# PostgreSQL - Local (replaces cluster at 10.11.50.167)
|
||||
# ===========================================================================
|
||||
didi-postgres:
|
||||
image: postgres:17-alpine
|
||||
container_name: didi-postgres
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
POSTGRES_DB: DIDI
|
||||
POSTGRES_USER: bos_interface
|
||||
POSTGRES_PASSWORD: interface
|
||||
PGDATA: /var/lib/postgresql/data/pgdata
|
||||
volumes:
|
||||
- didi-postgres-data:/var/lib/postgresql/data
|
||||
- /tmp/didi_full_dump.sql:/docker-entrypoint-initdb.d/01-dump.sql:ro
|
||||
ports:
|
||||
- "5432:5432"
|
||||
networks:
|
||||
- didi-network
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U bos_interface -d DIDI"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
start_period: 30s
|
||||
|
||||
# ===========================================================================
|
||||
# Redis - Cache + Session Store
|
||||
# ===========================================================================
|
||||
didi-cache:
|
||||
image: redis:7-alpine
|
||||
container_name: didi-cache
|
||||
restart: unless-stopped
|
||||
command: redis-server --requirepass redis123
|
||||
volumes:
|
||||
- didi-redis-data:/data
|
||||
ports:
|
||||
- "6379:6379"
|
||||
networks:
|
||||
- didi-network
|
||||
healthcheck:
|
||||
test: ["CMD", "redis-cli", "-a", "redis123", "ping"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
|
||||
# ===========================================================================
|
||||
# RabbitMQ - Message Queue
|
||||
# ===========================================================================
|
||||
staging-dataLayer-rabbitmq:
|
||||
image: rabbitmq:3.12-management-alpine
|
||||
container_name: staging-dataLayer-rabbitmq
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
RABBITMQ_DEFAULT_USER: admin
|
||||
RABBITMQ_DEFAULT_PASS: rabbitmq123
|
||||
RABBITMQ_DEFAULT_VHOST: /
|
||||
volumes:
|
||||
- didi-rabbitmq-data:/var/lib/rabbitmq
|
||||
ports:
|
||||
- "5672:5672"
|
||||
- "15672:15672"
|
||||
networks:
|
||||
- didi-network
|
||||
healthcheck:
|
||||
test: ["CMD", "rabbitmq-diagnostics", "-q", "ping"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 60s
|
||||
|
||||
# ===========================================================================
|
||||
# MinIO - Object Storage
|
||||
# ===========================================================================
|
||||
staging-dataLayer-minio:
|
||||
image: minio/minio:RELEASE.2024-08-29T01-40-52Z
|
||||
container_name: staging-dataLayer-minio
|
||||
restart: unless-stopped
|
||||
command: server /data --console-address ":9001"
|
||||
environment:
|
||||
MINIO_ROOT_USER: minioadmin
|
||||
MINIO_ROOT_PASSWORD: minio123
|
||||
ports:
|
||||
- "9000:9000"
|
||||
- "9001:9001"
|
||||
volumes:
|
||||
- didi-minio-data:/data
|
||||
networks:
|
||||
- didi-network
|
||||
healthcheck:
|
||||
test: ["CMD", "mc", "ready", "local"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 30s
|
||||
|
||||
# ===========================================================================
|
||||
# Keycloak - Local IAM
|
||||
# ===========================================================================
|
||||
didi-keycloak:
|
||||
image: quay.io/keycloak/keycloak:26.0
|
||||
container_name: didi-keycloak
|
||||
restart: unless-stopped
|
||||
command: start-dev --import-realm
|
||||
environment:
|
||||
KC_DB: postgres
|
||||
KC_DB_URL: jdbc:postgresql://didi-postgres:5432/DIDI?currentSchema=public
|
||||
KC_DB_USERNAME: bos_interface
|
||||
KC_DB_PASSWORD: interface
|
||||
KEYCLOAK_ADMIN: admin
|
||||
KEYCLOAK_ADMIN_PASSWORD: admin123
|
||||
KC_HOSTNAME_STRICT: "false"
|
||||
KC_HTTP_ENABLED: "true"
|
||||
KC_PROXY_HEADERS: xforwarded
|
||||
KC_HTTP_RELATIVE_PATH: /auth
|
||||
volumes:
|
||||
- ../gateway-auth-layer/didiKeycloak/realm-import:/opt/keycloak/data/import:ro
|
||||
- ../gateway-auth-layer/didiKeycloak/themes/didi-clients-theme:/opt/keycloak/themes/didi-clients-theme:ro
|
||||
- ../gateway-auth-layer/didiKeycloak/themes/didi-backend-theme:/opt/keycloak/themes/didi-backend-theme:ro
|
||||
- ../gateway-auth-layer/didiKeycloak/themes/didi-ai-theme:/opt/keycloak/themes/didi-ai-theme:ro
|
||||
ports:
|
||||
- "28080:8080"
|
||||
depends_on:
|
||||
didi-postgres:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
didi-network:
|
||||
aliases:
|
||||
- keycloak
|
||||
# start-dev doesn't open the :9000 management health port, so probe a real
|
||||
# served endpoint instead: /auth/realms/master returns 200 when Keycloak is
|
||||
# up (valid liveness signal, no --health-enabled needed).
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "exec 3<>/dev/tcp/127.0.0.1/8080; echo -e 'GET /auth/realms/master HTTP/1.1\\r\\nHost: localhost\\r\\nConnection: close\\r\\n\\r\\n' >&3; timeout 2 cat <&3 | grep -q '200 OK'"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 5
|
||||
start_period: 60s
|
||||
|
||||
volumes:
|
||||
didi-postgres-data:
|
||||
didi-redis-data:
|
||||
didi-rabbitmq-data:
|
||||
didi-minio-data:
|
||||
|
||||
networks:
|
||||
didi-network:
|
||||
external: true
|
||||
Loading…
Add table
Add a link
Reference in a new issue