services:
  client:
    image: uptime_client:latest
    restart: always
    ports:
      - "80:80"
    environment:
      UPTIME_APP_API_BASE_URL: "http://localhost:52345/api/v1"
      UPTIME_APP_CLIENT_HOST: "http://localhost"
    volumes:
      - ./nginx/conf.d:/etc/nginx/conf.d/
    depends_on:
      - server
  server:
    image: uptime_server:latest
    restart: always
    ports:
      - "52345:52345"
    env_file:
      - server.env
    depends_on:
      - mongodb
  mongodb:
    image: uptime_mongo:latest
    restart: always
    command: ["mongod", "--quiet", "--bind_ip_all"]
    volumes:
      - ./mongo/data:/data/db
    healthcheck:
      test: ["CMD", "mongosh", "--eval", "db.adminCommand('ping')", "--quiet"]
      interval: 5s
      timeout: 30s
      start_period: 0s
      start_interval: 1s
      retries: 30
