---
title: Clawdbot + Docker + Ollama на VPS — селф-хостинг AI
description: "Деплой Clawdbot (OpenClaw) с Docker и Ollama на VPS: локальные LLM без API-счетов, SSL через Nginx, продакшн-конфиг. Полное руководство."
---

[Блог и Новости is\*hosting - Хостинг-провайдер Нового Поколения](https://blog.ishosting.com/ru)

# [Clawdbot + Docker + Ollama на VPS — селф-хостинг AI](https://blog.ishosting.com/ru/clawdbot-with-docker-and-ollama-on-vps)

 Written by [Команда is\*hosting](https://blog.ishosting.com/ru/author/team-ishosting) | 04.06.2026 4:00:00

Clawdbot в связке с Docker и Ollama — это селф-хостинг AI-агент, который крутит локальные языковые модели на вашем VPS без единого запроса к OpenAI API. OpenClaw отвечает за логику агента, Docker изолирует окружение, Ollama запускает инференс локально.

## Зачем Docker + Ollama для Clawdbot?

### Что дает Docker

Зафиксированные зависимости, воспроизводимое поведение, перезапуск за две секунды. У OpenClaw в 2026 году была advisory по command injection ([GHSA-mc68-q9jw-2h3v](https://github.com/advisories/GHSA-mc68-q9jw-2h3v)) — пиньте версии, не используйте latest.

### Что дает Ollama

Ollama запускает LLaMA, Mistral, Qwen и Phi локально. Предоставляет нативный эндпоинт /api/chat (нужен для tool calling) и OpenAI-совместимый /v1. Используйте /api/chat.

### Clawdbot + OpenAI API vs Clawdbot + Ollama

Селф-хостинг меняет помегабайтные API-счета на фиксированную стоимость железа. Данные остаются на вашем сервере — это важно при работе под GDPR или HIPAA. Компромисс: локальные модели — это не GPT-4, но qwen2.5-coder:32b или gpt-oss:20b справляются с большинством агентных циклов.

## Требования к серверу

Что нужно для запуска Clawdbot с Docker и Ollama:

- **Память:** минимум 16 ГБ RAM для 8B-моделей
- **ОС:** Ubuntu 22.04 LTS или Debian 12
- **Софт:** Docker Engine 24+ и Docker Compose v2
- **Диск:** 80 ГБ свободного места
- **Сеть:** доменное имя для SSL
- **Процессор:** CPU с поддержкой AVX2 (cat /proc/cpuinfo | grep -m1 avx2)
- **GPU (опционально):** на CPU-машине с 4–6 ядрами и 16 ГБ RAM 8B-модель в Q4 выдает 2–6 токенов/сек. GPU-карта дает примерно 10–20× прирост, но конкретные цифры зависят от карты.

OpenClaw требует контекстное окно 64k, что примерно удваивает потребление памяти по сравнению с дефолтным 4k.

### Конфигурации: минимум, рекомендуемая, тяжелая нагрузка

| **Уровень** | **vCPU** | **RAM** | **Диск** | **Вместимость моделей** | **VPS от is\*hosting** |
| --- | --- | --- | --- | --- | --- |
| Минимум | 4 | 16 ГБ | 80 ГБ SSD | 7B Q4, короткий контекст | [Elite VPS](https://ishosting.io/ru/vps/160_1y?city=chicago) |
| Рекомендуемая | 6 | 24-32 ГБ | 120 ГБ NVMe | 8B-14B Q4 при 64k контексте | [Exclusive VPS](https://ishosting.io/ru/vps/201_1y?city=chicago) |
| Тяжелая (CPU) | 8 | 64 ГБ | 200 ГБ NVMe | 32B Q4 или 70B Q4 с offload | Exclusive VPS + апгрейд RAM и диска |
| GPU | 8 vCPU + 24 ГБ VRAM | 32 ГБ | 200 ГБ NVMe | 14B-32B на полной скорости | is\*hosting GPU сервер |
| Тяжелая GPU | 8 vCPU + 48 ГБ VRAM | 64 ГБ | 400 ГБ NVMe | 70B Q4 (~40 ГБ VRAM на веса) | GPU сервер (top tier) |

*70B Q4 требует ~40 ГБ VRAM только на веса. 16 ГБ карта — OOM.*

###### VPS за 5-15 минут

Выделенные ресурсы и изоляция KVM для глобальных экспериментов.

[Выбрать VPS](https://ishosting.io/ru/vps)

## Шаг 1. Установка Docker и контейнера Clawdbot

### Установка Docker на Ubuntu 22.04

Не используйте apt install docker.io — берите из официального репозитория:

```
sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo usermod -aG docker $USER
newgrp docker
```

### docker-compose.yml: базовый конфиг

OpenClaw игнорирует переменную LLM\_PROVIDER. Конфиг живет в ~/.openclaw/openclaw.json.

```
services:
  clawdbot:
    image: openclaw/openclaw:0.17
    container_name: clawdbot
    restart: unless-stopped
    environment:
      OLLAMA_API_KEY: "ollama-local"
    volumes:
      - ./data:/home/openclaw/.openclaw
      - ./openclaw.json:/home/openclaw/.openclaw/openclaw.json:ro
      - ./logs:/home/openclaw/.openclaw/logs
    ports:
      - "127.0.0.1:8080:8080"
```

### Создайте openclaw.json

```
{
  "agents": {
    "defaults": { "model": { "primary": "ollama/llama3.1:8b" } }
  },
  "models": {
    "providers": {
      "ollama": {
        "baseUrl": "http://ollama:11434",
        "apiKey": "ollama-local",
        "api": "ollama",
        "models": [
          {
            "id": "llama3.1:8b",
            "name": "LLaMA 3.1 8B",
            "contextWindow": 65536,
            "maxTokens": 8192,
            "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
          }
        ]
      }
    }
  }
}
```

Две ошибки, которые убивают сетап сразу:

- **Биндинг на 0.0.0.0.** ports: - "8080:8080" выставляет порт агента наружу и обходит UFW через Docker iptables. Всегда биндите на 127.0.0.1:8080:8080.
- **Отсутствие restart policy.** Без restart: unless-stopped упавшие контейнеры лежат, пока вы не заметите.

## Шаг 2. Установка Ollama и выбор модели

**Примечание:** этот systemd-способ описывает установку Ollama на хост. Если вы сразу идете к полному docker-compose.yml из шага 4, пропустите этот шаг — там Ollama работает как контейнер.

### Установка Ollama как systemd-сервиса

```
curl -fsSL https://ollama.com/install.sh | sh
sudo systemctl edit ollama
```

Добавьте переменные окружения:

```
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_NUM_PARALLEL=2"
Environment="OLLAMA_KEEP_ALIVE=30m"
```

Перезапустите и скачайте модель:

```
sudo systemctl daemon-reload
sudo systemctl restart ollama
ollama pull llama3.1:8b
```

### LLaMA 3.1 vs Mistral vs Qwen2.5: что влезет в RAM?

OpenClaw требует модели с поддержкой tool calling. Проверьте совместимость перед тем, как ставить:

```
ollama show qwen2.5-coder:7b --modelfile | grep -i tool
```

| **Модель** | **Размер файла (Q4)** | **RAM при 64k контексте** | **Примечания** |
| --- | --- | --- | --- |
| Mistral 7B | 4.1 ГБ | ~10 ГБ | Слабый tool calling |
| LLaMA 3.1 8B | 4.7 ГБ | ~12 ГБ | Стабильный tool calling |
| Qwen2.5-Coder 7B | 4.4 ГБ | ~11 ГБ | Выбор OpenClaw для кодинга |
| gpt-oss 20B | 12 ГБ | ~20 ГБ | Рекомендуемый дефолт OpenClaw |

## Шаг 3. Подключение Clawdbot к Ollama

### Детали конфигурации

Используйте "api": "ollama". Нативный эндпоинт /api/chat поддерживает tools и streaming; /v1 — нет. Не добавляйте /v1 в baseUrl. Явно укажите contextWindow: 65536.

### Docker-сеть: host vs bridge

localhost внутри контейнера в bridge-сети указывает на сам контейнер, а не на хост. http://localhost:11434 не сработает.

Решение: запустите Ollama как контейнер в той же Compose-сети и подключайтесь через http://ollama:11434.

## Шаг 4. Продакшн-хардинг

### SSL через Nginx + Certbot

Nginx не стартует без сертификатов; Certbot'у нужен открытый порт 80. Поэтому сначала поднимаем HTTP-конфиг, потом переключаемся на SSL.

Создайте nginx/conf.d/clawdbot.conf:

```
server {
    listen 80;
    server_name your-domain.com;

    location /.well-known/acme-challenge/ {
        root /var/www/certbot;
    }

    location / {
        proxy_pass http://clawdbot:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_buffering off;
        proxy_read_timeout 300s;
    }
}
```

Запустите Nginx, затем получите сертификат:

```
sudo apt install -y certbot
sudo mkdir -p /var/www/certbot
sudo certbot certonly --webroot -w /var/www/certbot -d your-domain.com --agree-tos -m you@your-domain.com --non-interactive
```

**Примечание:** /var/www/certbot на хосте монтируется в контейнер Nginx через volume из docker-compose.yml. Сначала запускаете Nginx с HTTP-конфигом, получаете сертификат, потом переключаетесь на SSL-конфиг и перезагружаете.

Замените конфиг на SSL-версию:

```
server {
    listen 80;
    server_name your-domain.com;
    location /.well-known/acme-challenge/ { root /var/www/certbot; }
    location / { return 301 https://$host$request_uri; }
}

server {
    listen 443 ssl http2;
    server_name your-domain.com;

    ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;
    ssl_protocols TLSv1.2 TLSv1.3;

    location / {
        proxy_pass http://clawdbot:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_buffering off;
        proxy_read_timeout 300s;
    }
}
```

Перезагрузите Nginx:

```
docker compose exec nginx nginx -s reload
```

### Авторизация, бэкапы и файрвол

- **Auth:** добавьте Nginx basic auth или IP allowlist.
- **Бэкапы:** tar на директории ./data, openclaw.json и nginx/conf.d. Храните копию вне сервера.
- **Лимиты памяти:** задайте в Compose, чтобы избежать OOM-киллов.
- **Файрвол:** Docker-mapped порты обходят UFW. Держите Ollama только во внутренней Compose-сети — не выставляйте порт 11434 наружу.

### Полный docker-compose.yml для продакшна

```
services:
  clawdbot:
    image: openclaw/openclaw:0.17
    container_name: clawdbot
    restart: unless-stopped
    environment:
      OLLAMA_API_KEY: "ollama-local"
    volumes:
      - ./data:/home/openclaw/.openclaw
      - ./openclaw.json:/home/openclaw/.openclaw/openclaw.json:ro
      - ./logs:/home/openclaw/.openclaw/logs
    depends_on:
      ollama:
        condition: service_healthy
      ollama-bootstrap:
        condition: service_completed_successfully
    networks:
      - agentnet
    deploy:
      resources:
        limits:
          memory: 2g

  ollama:
    image: ollama/ollama:0.5.4
    container_name: ollama
    restart: unless-stopped
    environment:
      OLLAMA_KEEP_ALIVE: "30m"
      OLLAMA_NUM_PARALLEL: "2"
    volumes:
      - ollama_models:/root/.ollama
    healthcheck:
      test: ["CMD-SHELL", "ollama list >/dev/null 2>&1 || exit 1"]
      interval: 10s
      timeout: 5s
      retries: 12
      start_period: 60s
    networks:
      - agentnet
    deploy:
      resources:
        limits:
          memory: 14g

  ollama-bootstrap:
    image: ollama/ollama:0.5.4
    depends_on:
      ollama:
        condition: service_healthy
    entrypoint: ["/bin/sh", "-c"]
    command: ["OLLAMA_HOST=http://ollama:11434 ollama pull llama3.1:8b"]
    networks:
      - agentnet
    restart: "no"

  nginx:
    image: nginx:1.27-alpine
    container_name: nginx
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./nginx/conf.d:/etc/nginx/conf.d:ro
      - /etc/letsencrypt:/etc/letsencrypt:ro
      - /var/www/certbot:/var/www/certbot:ro
    depends_on:
      - clawdbot
    networks:
      - agentnet

networks:
  agentnet:
    driver: bridge

volumes:
  ollama_models:
```

### Запуск и проверка

```
docker compose up -d
docker compose exec clawdbot wget -qO- http://ollama:11434/api/tags
ss -ltnp | grep -E '8080|11434|80|443'
```

###### VPS недостаточно?

Возьмите выделенный сервер. Для требовательных рабочих нагрузок и кастомных настроек.

[Выбрать сервер](https://ishosting.io/ru/dedicated)

## Итого

Арендуете VPS с 16–32 ГБ RAM, ставите Docker, поднимаете Ollama и OpenClaw в общей Compose-сети, проксируете через Nginx с HTTPS. Используете нативный /api/chat, контекстное окно — 64k или выше.

Рекомендуемая конфигурация соответствует тарифу [VPS Exclusive](https://ishosting.io/ru/vps/201_1y?city=chicago) от is\*hosting: достаточно RAM для 8B–14B модели при полном 64k-контексте. Для моделей 32B+ — Exclusive с апгрейдом RAM или [GPU-сервер](https://ishosting.io/ru/dedicated/gpu).

[View full post](https://blog.ishosting.com/ru/clawdbot-with-docker-and-ollama-on-vps)

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "Команда is*hosting"
  },
  "dateModified" : "2026-06-11T11:27:40.884Z",
  "datePublished" : "2026-06-04T04:00:00Z",
  "headline" : "Clawdbot с Docker и Ollama: гайд по селф-хостингу AI-стека",
  "image" : {
    "@type" : "ImageObject",
    "height" : 1348,
    "url" : "https://25913237.fs1.hubspotusercontent-eu1.net/hubfs/25913237/blog/clawdbot-with-docker-and-ollama-on-vps/clawdbot-with-docker-and-ollama-on-vps.png",
    "width" : 2396
  },
  "mainEntityOfPage" : "https://blog.ishosting.com/ru/clawdbot-with-docker-and-ollama-on-vps",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "height" : 60.0,
      "url" : "https://help.ishosting.com/hubfs/ishosting-logo-black.svg",
      "width" : 316.66666
    },
    "name" : "Блог"
  }
}
```