Spaces:
Running
Running
Amlan-109
feat: Initial commit of LocalAI Amlan Edition with premium branding and personalization
750bbe6
| title: "Docker Installation" | |
| description: "Install LocalAI using Docker containers - the recommended installation method" | |
| weight: 1 | |
| url: '/installation/docker/' | |
| {{% notice tip %}} | |
| **Recommended Installation Method** | |
| Docker is the recommended way to install LocalAI and provides the easiest setup experience. | |
| {{% /notice %}} | |
| LocalAI provides Docker images that work with Docker, Podman, and other container engines. These images are available on [Docker Hub](https://hub.docker.com/r/localai/localai) and [Quay.io](https://quay.io/repository/go-skynet/local-ai). | |
| ## Prerequisites | |
| Before you begin, ensure you have Docker or Podman installed: | |
| - [Install Docker Desktop](https://docs.docker.com/get-docker/) (Mac, Windows, Linux) | |
| - [Install Podman](https://podman.io/getting-started/installation) (Linux alternative) | |
| - [Install Docker Engine](https://docs.docker.com/engine/install/) (Linux servers) | |
| ## Quick Start | |
| The fastest way to get started is with the CPU image: | |
| ```bash | |
| docker run -p 8080:8080 --name local-ai -ti localai/localai:latest | |
| ``` | |
| This will: | |
| - Start LocalAI (you'll need to install models separately) | |
| - Make the API available at `http://localhost:8080` | |
| {{% notice tip %}} | |
| **Docker Run vs Docker Start** | |
| - `docker run` creates and starts a new container. If a container with the same name already exists, this command will fail. | |
| - `docker start` starts an existing container that was previously created with `docker run`. | |
| If you've already run LocalAI before and want to start it again, use: `docker start -i local-ai` | |
| {{% /notice %}} | |
| ## Image Types | |
| LocalAI provides several image types to suit different needs: | |
| ### Standard Images | |
| Standard images don't include pre-configured models. Use these if you want to configure models manually. | |
| #### CPU Image | |
| ```bash | |
| docker run -ti --name local-ai -p 8080:8080 localai/localai:latest | |
| ``` | |
| #### GPU Images | |
| **NVIDIA CUDA 13:** | |
| ```bash | |
| docker run -ti --name local-ai -p 8080:8080 --gpus all localai/localai:latest-gpu-nvidia-cuda-13 | |
| ``` | |
| **NVIDIA CUDA 12:** | |
| ```bash | |
| docker run -ti --name local-ai -p 8080:8080 --gpus all localai/localai:latest-gpu-nvidia-cuda-12 | |
| ``` | |
| **AMD GPU (ROCm):** | |
| ```bash | |
| docker run -ti --name local-ai -p 8080:8080 --device=/dev/kfd --device=/dev/dri --group-add=video localai/localai:latest-gpu-hipblas | |
| ``` | |
| **Intel GPU:** | |
| ```bash | |
| docker run -ti --name local-ai -p 8080:8080 localai/localai:latest-gpu-intel | |
| ``` | |
| **Vulkan:** | |
| ```bash | |
| docker run -ti --name local-ai -p 8080:8080 localai/localai:latest-gpu-vulkan | |
| ``` | |
| **NVIDIA Jetson (L4T ARM64):** | |
| CUDA 12 (for Nvidia AGX Orin and similar platforms): | |
| ```bash | |
| docker run -ti --name local-ai -p 8080:8080 --runtime nvidia --gpus all localai/localai:latest-nvidia-l4t-arm64 | |
| ``` | |
| CUDA 13 (for Nvidia DGX Spark): | |
| ```bash | |
| docker run -ti --name local-ai -p 8080:8080 --runtime nvidia --gpus all localai/localai:latest-nvidia-l4t-arm64-cuda-13 | |
| ``` | |
| ### All-in-One (AIO) Images | |
| **Recommended for beginners** - These images come pre-configured with models and backends, ready to use immediately. | |
| #### CPU Image | |
| ```bash | |
| docker run -ti --name local-ai -p 8080:8080 localai/localai:latest-aio-cpu | |
| ``` | |
| #### GPU Images | |
| **NVIDIA CUDA 13:** | |
| ```bash | |
| docker run -ti --name local-ai -p 8080:8080 --gpus all localai/localai:latest-aio-gpu-nvidia-cuda-13 | |
| ``` | |
| **NVIDIA CUDA 12:** | |
| ```bash | |
| docker run -ti --name local-ai -p 8080:8080 --gpus all localai/localai:latest-aio-gpu-nvidia-cuda-12 | |
| ``` | |
| **AMD GPU (ROCm):** | |
| ```bash | |
| docker run -ti --name local-ai -p 8080:8080 --device=/dev/kfd --device=/dev/dri --group-add=video localai/localai:latest-aio-gpu-hipblas | |
| ``` | |
| **Intel GPU:** | |
| ```bash | |
| docker run -ti --name local-ai -p 8080:8080 localai/localai:latest-aio-gpu-intel | |
| ``` | |
| ## Using Docker Compose | |
| For a more manageable setup, especially with persistent volumes, use Docker Compose: | |
| ```yaml | |
| version: "3.9" | |
| services: | |
| api: | |
| image: localai/localai:latest-aio-cpu | |
| # For GPU support, use one of: | |
| # image: localai/localai:latest-aio-gpu-nvidia-cuda-13 | |
| # image: localai/localai:latest-aio-gpu-nvidia-cuda-12 | |
| # image: localai/localai:latest-aio-gpu-nvidia-cuda-11 | |
| # image: localai/localai:latest-aio-gpu-hipblas | |
| # image: localai/localai:latest-aio-gpu-intel | |
| healthcheck: | |
| test: ["CMD", "curl", "-f", "http://localhost:8080/readyz"] | |
| interval: 1m | |
| timeout: 20m | |
| retries: 5 | |
| ports: | |
| - 8080:8080 | |
| environment: | |
| - DEBUG=false | |
| volumes: | |
| - ./models:/models:cached | |
| # For NVIDIA GPUs, uncomment: | |
| # deploy: | |
| # resources: | |
| # reservations: | |
| # devices: | |
| # - driver: nvidia | |
| # count: 1 | |
| # capabilities: [gpu] | |
| ``` | |
| Save this as `docker-compose.yml` and run: | |
| ```bash | |
| docker compose up -d | |
| ``` | |
| ## Persistent Storage | |
| To persist models and configurations, mount a volume: | |
| ```bash | |
| docker run -ti --name local-ai -p 8080:8080 \ | |
| -v $PWD/models:/models \ | |
| localai/localai:latest-aio-cpu | |
| ``` | |
| Or use a named volume: | |
| ```bash | |
| docker volume create localai-models | |
| docker run -ti --name local-ai -p 8080:8080 \ | |
| -v localai-models:/models \ | |
| localai/localai:latest-aio-cpu | |
| ``` | |
| ## What's Included in AIO Images | |
| All-in-One images come pre-configured with: | |
| - **Text Generation**: LLM models for chat and completion | |
| - **Image Generation**: Stable Diffusion models | |
| - **Text to Speech**: TTS models | |
| - **Speech to Text**: Whisper models | |
| - **Embeddings**: Vector embedding models | |
| - **Function Calling**: Support for OpenAI-compatible function calling | |
| The AIO images use OpenAI-compatible model names (like `gpt-4`, `gpt-4-vision-preview`) but are backed by open-source models. See the [container images documentation](/getting-started/container-images/#all-in-one-images) for the complete mapping. | |
| ## Next Steps | |
| After installation: | |
| 1. Access the WebUI at `http://localhost:8080` | |
| 2. Check available models: `curl http://localhost:8080/v1/models` | |
| 3. [Install additional models](/getting-started/models/) | |
| 4. [Try out examples](/getting-started/try-it-out/) | |
| ## Advanced Configuration | |
| For detailed information about: | |
| - All available image tags and versions | |
| - Advanced Docker configuration options | |
| - Custom image builds | |
| - Backend management | |
| See the [Container Images documentation](/getting-started/container-images/). | |
| ## Troubleshooting | |
| ### Container won't start | |
| - Check Docker is running: `docker ps` | |
| - Check port 8080 is available: `netstat -an | grep 8080` (Linux/Mac) | |
| - View logs: `docker logs local-ai` | |
| ### GPU not detected | |
| - Ensure Docker has GPU access: `docker run --rm --gpus all nvidia/cuda:12.0.0-base-ubuntu22.04 nvidia-smi` | |
| - For NVIDIA: Install [NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html) | |
| - For AMD: Ensure devices are accessible: `ls -la /dev/kfd /dev/dri` | |
| ### Models not downloading | |
| - Check internet connection | |
| - Verify disk space: `df -h` | |
| - Check Docker logs for errors: `docker logs local-ai` | |
| ## See Also | |
| - [Container Images Reference](/getting-started/container-images/) - Complete image reference | |
| - [Install Models](/getting-started/models/) - Install and configure models | |
| - [GPU Acceleration](/features/gpu-acceleration/) - GPU setup and optimization | |
| - [Kubernetes Installation](/installation/kubernetes/) - Deploy on Kubernetes | |