services:
  app:
    build: .
    image: ${IMAGE_NAME:-ghcr.io/mytheclipse/bete:latest}
    container_name: imphenbot-app
    restart: unless-stopped
    env_file:
      - .env
    volumes:
      - ./recordings:/app/recordings
      # Mapping SQLite database files if needed, or storing them in a dedicated volume.
      # Assuming default config uses root directory for DB.
      - ./.muxer-queue.db:/app/.muxer-queue.db
      - ./.muxer-queue.db-shm:/app/.muxer-queue.db-shm
      - ./.muxer-queue.db-wal:/app/.muxer-queue.db-wal
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.imphenbot.rule=Host(`imphnen.asepharyana.my.id`) || Host(`imphnen.asepharyana.tech`) || Host(`imphnen.asepharyana.web.id`)"
      - "traefik.http.routers.imphenbot.entrypoints=websecure"
      - "traefik.http.routers.imphenbot.tls=true"
      # Expose port to traefik (adjust if WEBSERVER_PORT differs)
      - "traefik.http.services.imphenbot.loadbalancer.server.port=3000"
    networks:
      - app-shared-net

networks:
  app-shared-net:
    name: app-shared-net
    external: true
