services:
  vllm:
    image: ${IMAGE:-vllm/vllm-openai:v0.31.0}
    container_name: ${CONTAINER_NAME}
    restart: always
    runtime: nvidia
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]
    networks:
      - 1panel-network
    volumes:
      - ./cache/huggingface:/root/.cache/huggingface
      - ${MODEL_DIR:-./cache/models}/:/models/${MODEL_NAME:-model}
    environment:
      HUGGING_FACE_HUB_TOKEN: ${HUGGING_FACE_HUB_TOKEN:-}
      HF_ENDPOINT: https://hf-mirror.com
    ports:
      - ${PANEL_APP_PORT_HTTP}:8000
    ipc: host
    command: ${START_COMMAND:---model ${MODEL}}
networks:
  1panel-network:
    external: true
