LiteLLM takes a few seconds to start. Wait 10-15 seconds after ./hub start and check again.
Model loading takes 1-2 minutes after start. Wait and check again. If it persists:
./hub logs vllm-smallnvidia-container-cli: requirement error: unsatisfied condition: cuda>=12.9
Your NVIDIA driver is too old for the vLLM image. Install driver 570 specifically (do not use ubuntu-drivers autoinstall — it may install a driver that's too new):
sudo apt-get update && sudo apt-get install nvidia-driver-570 && sudo rebootThen re-run ./hub setup to auto-detect the new CUDA version.
RuntimeError: Error 803: system has unsupported display driver / cuda driver combination
Your NVIDIA driver is too new for the vLLM Docker image. This typically happens with driver 580+ (CUDA 13.0). Downgrade to driver 570:
sudo apt-get install nvidia-driver-570 && sudo rebootUsually a GPU memory issue. Try:
- Lower
SMALL_GPU_MEM_UTIL/LARGE_GPU_MEM_UTILin.env - Use a smaller model (e.g.
google/gemma-4-E2B-itfor the small slot) - Check logs:
./hub logs vllm-small
vLLM couldn't fit the KV cache after loading weights. Either bump the corresponding *_GPU_MEM_UTIL in .env, or lower MAX_MODEL_LEN (default 32768). Context length scales KV cache linearly.
Server rejected the request (400): ... audio not supported ...
Audio input only works on Gemma 4 E2B or E4B. The default small model is E4B (audio-capable); the default large model is 26B MoE and is text + image only. Retry with --model small, or swap your small model to an E-variant. See Managing Models.
Run ./hub setup again — it configures the Docker NVIDIA runtime.
After setup installs Docker, you need to log out and back in for the docker group membership to take effect. Quick fix without logging out:
newgrp dockerChange LITELLM_PORT in .env to another port:
sed -i 's/^LITELLM_PORT=.*/LITELLM_PORT=4201/' .env
./hub restartThe model name in the LiteLLM config doesn't match what vLLM loaded. This happens if you changed models without restarting:
./hub restartYou need to pass an API key with every request. Use the Authorization: Bearer header with the API key you received from ./hub add-key.
- Check the server is running:
./hub statuson the server - Check the port is open:
curl http://SERVER_IP:4200/healthfrom the client - If using Tailscale, make sure both machines are on the same Tailnet
- The vLLM ports (8001, 8002) are localhost-only by design — clients connect through LiteLLM on port 4200
If ./hub add-key or ./hub list-keys fails:
- Check postgres is running:
./hub status - Check logs:
./hub logs postgres - Reset the database (destroys all keys):
docker volume rm llm-inference-hub_pgdata && ./hub restart