services:
  fredy:
    container_name: fredy
    # build from empty build folder to reduce size of image
    build:
      context: .
      dockerfile: Dockerfile
    image: ghcr.io/orangecoding/fredy
    # map existing config and database
    volumes:
      - ./conf:/conf
      - ./db:/db
    ports:
      - "9998:9998"
    restart: unless-stopped
    healthcheck:
      # The container will immediately stop when health check fails after retries
      test: ["CMD-SHELL", "curl --fail --silent --show-error --max-time 5 http://localhost:9998/ || exit 1"]
      interval: 120s
      timeout: 10s
      retries: 1
      start_period: 10s
