services:
  graphhopper:
    image: israelhikingmap/graphhopper:latest
    container_name: graphhopper
    restart: unless-stopped
    ports:
      - "8989:8989"
    volumes:
      - graphhopper-data:/data
      - ./config.yml:/config.yml:ro
    environment:
      - JAVA_OPTS=-Xmx40g -Xms20g
    command: --config /config.yml
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8989/health"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 120s
    networks:
      dokploy-network:
        aliases:
          - graphhopper

volumes:
  graphhopper-data:

networks:
  dokploy-network:
    external: true
