| # 🐳 Using Docker (Legacy) |
|
|
| Crawl4AI is available as Docker images for easy deployment. You can either pull directly from Docker Hub (recommended) or build from the repository. |
|
|
| --- |
|
|
| <details> |
| <summary>🐳 <strong>Option 1: Docker Hub (Recommended)</strong></summary> |
|
|
| Choose the appropriate image based on your platform and needs: |
|
|
| ### For AMD64 (Regular Linux/Windows): |
| ```bash |
| # Basic version (recommended) |
| docker pull unclecode/crawl4ai:basic-amd64 |
| docker run -p 11235:11235 unclecode/crawl4ai:basic-amd64 |
| |
| # Full ML/LLM support |
| docker pull unclecode/crawl4ai:all-amd64 |
| docker run -p 11235:11235 unclecode/crawl4ai:all-amd64 |
| |
| # With GPU support |
| docker pull unclecode/crawl4ai:gpu-amd64 |
| docker run -p 11235:11235 unclecode/crawl4ai:gpu-amd64 |
| ``` |
|
|
| ### For ARM64 (M1/M2 Macs, ARM servers): |
| ```bash |
| # Basic version (recommended) |
| docker pull unclecode/crawl4ai:basic-arm64 |
| docker run -p 11235:11235 unclecode/crawl4ai:basic-arm64 |
| |
| # Full ML/LLM support |
| docker pull unclecode/crawl4ai:all-arm64 |
| docker run -p 11235:11235 unclecode/crawl4ai:all-arm64 |
| |
| # With GPU support |
| docker pull unclecode/crawl4ai:gpu-arm64 |
| docker run -p 11235:11235 unclecode/crawl4ai:gpu-arm64 |
| ``` |
|
|
| Need more memory? Add `--shm-size`: |
| ```bash |
| docker run --shm-size=2gb -p 11235:11235 unclecode/crawl4ai:basic-amd64 |
| ``` |
|
|
| Test the installation: |
| ```bash |
| curl http://localhost:11235/health |
| ``` |
|
|
| ### For Raspberry Pi (32-bit) (coming soon): |
| ```bash |
| # Pull and run basic version (recommended for Raspberry Pi) |
| docker pull unclecode/crawl4ai:basic-armv7 |
| docker run -p 11235:11235 unclecode/crawl4ai:basic-armv7 |
| |
| # With increased shared memory if needed |
| docker run --shm-size=2gb -p 11235:11235 unclecode/crawl4ai:basic-armv7 |
| ``` |
|
|
| Note: Due to hardware constraints, only the basic version is recommended for Raspberry Pi. |
|
|
| </details> |
|
|
| <details> |
| <summary>🐳 <strong>Option 2: Build from Repository</strong></summary> |
|
|
| Build the image locally based on your platform: |
|
|
| ```bash |
| # Clone the repository |
| git clone https://github.com/unclecode/crawl4ai.git |
| cd crawl4ai |
| |
| # For AMD64 (Regular Linux/Windows) |
| docker build --platform linux/amd64 \ |
| --tag crawl4ai:local \ |
| --build-arg INSTALL_TYPE=basic \ |
| . |
| |
| # For ARM64 (M1/M2 Macs, ARM servers) |
| docker build --platform linux/arm64 \ |
| --tag crawl4ai:local \ |
| --build-arg INSTALL_TYPE=basic \ |
| . |
| ``` |
|
|
| Build options: |
| - INSTALL_TYPE=basic (default): Basic crawling features |
| - INSTALL_TYPE=all: Full ML/LLM support |
| - ENABLE_GPU=true: Add GPU support |
| |
| Example with all options: |
| ```bash |
| docker build --platform linux/amd64 \ |
| --tag crawl4ai:local \ |
| --build-arg INSTALL_TYPE=all \ |
| --build-arg ENABLE_GPU=true \ |
| . |
| ``` |
| |
| Run your local build: |
| ```bash |
| # Regular run |
| docker run -p 11235:11235 crawl4ai:local |
| |
| # With increased shared memory |
| docker run --shm-size=2gb -p 11235:11235 crawl4ai:local |
| ``` |
| |
| Test the installation: |
| ```bash |
| curl http://localhost:11235/health |
| ``` |
| |
| </details> |
| |
| <details> |
| <summary>🐳 <strong>Option 3: Using Docker Compose</strong></summary> |
| |
| Docker Compose provides a more structured way to run Crawl4AI, especially when dealing with environment variables and multiple configurations. |
| |
| ```bash |
| # Clone the repository |
| git clone https://github.com/unclecode/crawl4ai.git |
| cd crawl4ai |
| ``` |
| |
| ### For AMD64 (Regular Linux/Windows): |
| ```bash |
| # Build and run locally |
| docker-compose --profile local-amd64 up |
| |
| # Run from Docker Hub |
| VERSION=basic docker-compose --profile hub-amd64 up # Basic version |
| VERSION=all docker-compose --profile hub-amd64 up # Full ML/LLM support |
| VERSION=gpu docker-compose --profile hub-amd64 up # GPU support |
| ``` |
| |
| ### For ARM64 (M1/M2 Macs, ARM servers): |
| ```bash |
| # Build and run locally |
| docker-compose --profile local-arm64 up |
| |
| # Run from Docker Hub |
| VERSION=basic docker-compose --profile hub-arm64 up # Basic version |
| VERSION=all docker-compose --profile hub-arm64 up # Full ML/LLM support |
| VERSION=gpu docker-compose --profile hub-arm64 up # GPU support |
| ``` |
| |
| Environment variables (optional): |
| ```bash |
| # Create a .env file |
| CRAWL4AI_API_TOKEN=your_token |
| OPENAI_API_KEY=your_openai_key |
| CLAUDE_API_KEY=your_claude_key |
| ``` |
| |
| The compose file includes: |
| - Memory management (4GB limit, 1GB reserved) |
| - Shared memory volume for browser support |
| - Health checks |
| - Auto-restart policy |
| - All necessary port mappings |
| |
| Test the installation: |
| ```bash |
| curl http://localhost:11235/health |
| ``` |
| |
| </details> |
| |
| <details> |
| <summary>🚀 <strong>One-Click Deployment</strong></summary> |
| |
| Deploy your own instance of Crawl4AI with one click: |
| |
| [](https://www.digitalocean.com/?repo=https://github.com/unclecode/crawl4ai/tree/0.3.74&refcode=a0780f1bdb3d&utm_campaign=Referral_Invite&utm_medium=Referral_Program&utm_source=badge) |
| |
| > 💡 **Recommended specs**: 4GB RAM minimum. Select "professional-xs" or higher when deploying for stable operation. |
| |
| The deploy will: |
| - Set up a Docker container with Crawl4AI |
| - Configure Playwright and all dependencies |
| - Start the FastAPI server on port `11235` |
| - Set up health checks and auto-deployment |
| |
| </details> |
| |