version: '3.8'

services:
  backend:
    build:
      context: ./backend
    image: ghcr.io/bnair123/musicanalyser:latest
    container_name: music-analyser-backend
    restart: unless-stopped
    env_file:
      - .env
    environment:
      - DATABASE_URL=postgresql://bnair:Bharath2002@music_db:5432/music_db
    ports:
      - '8088:8000'
    networks:
      - dockernet
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8000/snapshots?limit=1"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 60s

  frontend:
    build:
      context: ./frontend
    image: ghcr.io/bnair123/musicanalyser-frontend:latest
    container_name: music-analyser-frontend
    restart: unless-stopped
    ports:
      - '8991:80'
    networks:
      - dockernet
    depends_on:
      backend:
        condition: service_healthy

networks:
  dockernet:
    external: true
