version: '3.8'

services:
  event-service:
    image: acrdigitalgarage01.azurecr.io/kt-event-marketing/event-service:latest
    container_name: event-service
    ports:
      - "8082:8082"
    environment:
      # Server Configuration
      - SERVER_PORT=8082

      # PostgreSQL Configuration (필수)
      - DB_HOST=${DB_HOST:-your-postgresql-host}
      - DB_PORT=${DB_PORT:-5432}
      - DB_NAME=${DB_NAME:-eventdb}
      - DB_USERNAME=${DB_USERNAME:-eventuser}
      - DB_PASSWORD=${DB_PASSWORD:-your-db-password}
      - DDL_AUTO=${DDL_AUTO:-update}

      # Redis Configuration (필수)
      - REDIS_HOST=${REDIS_HOST:-your-redis-host}
      - REDIS_PORT=${REDIS_PORT:-6379}
      - REDIS_PASSWORD=${REDIS_PASSWORD:-your-redis-password}

      # Kafka Configuration (필수)
      - KAFKA_BOOTSTRAP_SERVERS=${KAFKA_BOOTSTRAP_SERVERS:-your-kafka-host:9092}

      # JWT Configuration (필수 - 최소 32자)
      - JWT_SECRET=${JWT_SECRET:-your-jwt-secret-key-minimum-32-characters-required}

      # Microservice URLs (선택)
      - CONTENT_SERVICE_URL=${CONTENT_SERVICE_URL:-http://content-service:8083}
      - DISTRIBUTION_SERVICE_URL=${DISTRIBUTION_SERVICE_URL:-http://distribution-service:8086}

      # Logging Configuration (선택)
      - LOG_LEVEL=${LOG_LEVEL:-INFO}
      - SQL_LOG_LEVEL=${SQL_LOG_LEVEL:-WARN}

    restart: unless-stopped
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8082/actuator/health"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 40s
    networks:
      - kt-event-network

networks:
  kt-event-network:
    driver: bridge
