services:
  ophion:
    build: 
      context: ../..
      dockerfile: deploy/docker/Dockerfile
    ports:
      - "8080:8080"
      - "3000:3000"
    environment:
      - DATABASE_URL=postgres://ophion:ophion@postgres:5432/ophion?sslmode=disable
      - REDIS_URL=redis://redis:6379
      - JWT_SECRET=ophion-jwt-secret-change-in-production
      - ADMIN_PASSWORD=ophion123
      - AGENT_KEY=ophion-agent-2024
    depends_on:
      - postgres
      - redis
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
      interval: 30s
      timeout: 10s
      retries: 3

  postgres:
    image: postgres:16-alpine
    environment:
      - POSTGRES_USER=ophion
      - POSTGRES_PASSWORD=ophion
      - POSTGRES_DB=ophion
    volumes:
      - postgres_data:/var/lib/postgresql/data
    restart: unless-stopped

  redis:
    image: redis:7-alpine
    volumes:
      - redis_data:/data
    restart: unless-stopped

volumes:
  postgres_data:
  redis_data:
