# Docker Compose for Mantimon TCG local development
# 
# Usage:
#   docker-compose up -d        # Start services in background
#   docker-compose down         # Stop services
#   docker-compose logs -f      # Follow logs
#   docker-compose ps           # Check status
#
# Services:
#   - PostgreSQL 15 (port 5433 -> 5432)
#   - Redis 7 (port 6380 -> 6379)
#
# Note: Non-standard host ports to avoid conflicts with other projects

services:
  postgres:
    image: postgres:15-alpine
    container_name: mantimon-postgres
    environment:
      POSTGRES_USER: mantimon
      POSTGRES_PASSWORD: mantimon
      POSTGRES_DB: mantimon
    ports:
      - "5433:5432"
    volumes:
      - postgres_data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U mantimon -d mantimon"]
      interval: 10s
      timeout: 5s
      retries: 5
    restart: unless-stopped

  redis:
    image: redis:7-alpine
    container_name: mantimon-redis
    command: redis-server --appendonly no --maxmemory 100mb --maxmemory-policy allkeys-lru
    ports:
      - "6380:6379"
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 10s
      timeout: 5s
      retries: 5
    restart: unless-stopped
  
  adminer:
    image: adminer:latest
    restart: unless-stopped
    container_name: mantimon-adminer
    ports:
      - "8090:8080"
    environment:
      - ADMINER_DEFAULT_SERVER=mantimon-postgres
      - TZ=America/Chicago
    depends_on:
      - postgres

volumes:
  postgres_data:
    name: mantimon_postgres_data
