services: postgres: image: postgres:18.3 container_name: postgres ports: - "5434:5432" environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres volumes: - postgres_data:/var/lib/postgresql - ./docker/postgres/init.sql:/docker-entrypoint-initdb.d/init.sql healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] interval: 5s timeout: 5s retries: 5 rabbitmq: image: rabbitmq:3-management container_name: rabbitmq ports: - "5672:5672" - "15672:15672" environment: RABBITMQ_DEFAULT_USER: admin RABBITMQ_DEFAULT_PASS: admin # healthcheck: # test: ["CMD", "rabbitmq-diagnostics", "check_port_connectivity"] # interval: 5s # timeout: 5s # retries: 5 eureka: build: ./eurekaServer container_name: eureka ports: - "8761:8761" healthcheck: test: ["CMD-SHELL", "curl -f http://localhost:8761 || exit 1"] interval: 10s timeout: 5s retries: 10 keycloak: image: quay.io/keycloak/keycloak:26.5.6 command: start-dev --import-realm ports: - "8060:8060" volumes: - ./docker/keycloak/imports:/opt/keycloak/data/import - ./docker/keycloak/providers:/opt/keycloak/providers - ./docker/keycloak/themes/boat-theme:/opt/keycloak/themes/boat-theme environment: KC_BOOTSTRAP_ADMIN_USERNAME: admin KC_BOOTSTRAP_ADMIN_PASSWORD: admin KC_HTTP_ENABLED: "true" KC_HOSTNAME_STRICT: "false" KC_HOSTNAME_STRICT_HTTPS: "false" KC_HTTP_RELATIVE_PATH: "/" KC_HOSTNAME: localhost KC_HTTP_PORT: 8060 KC_EVENTS_ENABLED: "true" KC_EVENTS_LISTENERS: "userservice-sync-listener" KC_ADMIN_EVENTS_ENABLED: "true" KC_ADMIN_EVENTS_DETAILS_ENABLED: "true" WEBHOOK_KEYCLOAK_SECRET: c8d904f5-5322-4d56-affb-fe63b9c436fb # healthcheck: # test: ["CMD-SHELL", "timeout 2 bash -c '