---
title: "Clawdbot with Docker and Ollama: Guide to a Self-Hosted AI Stack"
description: Build your own private AI stack on a VPS! Learn how to deploy Clawdbot with Docker and Ollama in this complete, step-by-step self-hosted setup guide.
image: https://blog.ishosting.com/hubfs/blog/clawdbot-with-docker-and-ollama-on-vps/clawdbot-with-docker-and-ollama-on-vps.png
---

<https://ishosting.com/en>

[VPS](https://ishosting.com/en/vps) [Dedicated hosting](https://ishosting.com/en/dedicated) [VPN](https://ishosting.com/en/vpn) [Storage](https://ishosting.com/en/storage) [About us](https://ishosting.com/en/about)

[Client area](https://my.ishosting.com/en/account)

[is\*hosting Blog](https://blog.ishosting.com/en)

- [News](https://blog.ishosting.com/en/tag/news)
- [VPS](https://blog.ishosting.com/en/tag/vps)
- [Hosting](https://blog.ishosting.com/en/tag/hosting)
- [Technology](https://blog.ishosting.com/en/tag/technology)
- [is\*ai](https://blog.ishosting.com/en/tag/isai)
- Other 
    - [Marketing](https://blog.ishosting.com/en/tag/marketing)
    - [Security](https://blog.ishosting.com/en/tag/security)

[News](https://blog.ishosting.com/en/tag/news)

 Categories

[Search](https://blog.ishosting.com/hs-search-results)

 Hosting Services

[About Us](https://ishosting.com/en/about)

[Client Area](https://my.ishosting.com/en/account)

[News](https://blog.ishosting.com/en/tag/news) [VPS](https://blog.ishosting.com/en/tag/vps) [Hosting](https://blog.ishosting.com/en/tag/hosting) [Technology](https://blog.ishosting.com/en/tag/technology) [is\*ai](https://blog.ishosting.com/en/tag/isai) [Marketing](https://blog.ishosting.com/en/tag/marketing) [Security](https://blog.ishosting.com/en/tag/security)

[VPS](https://ishosting.com/en/vps) [Dedicated hosting](https://ishosting.com/en/dedicated) [VPN](https://ishosting.com/en/vpn) [Storage](https://ishosting.com/en/storage)

1. [Blog](https://blog.ishosting.com/en)
2. [How to](https://blog.ishosting.com/en/tag/how-to)
3. Clawdbot with Docker and Ollama: Self-Hosted AI Stack Guide

How to

# Clawdbot with Docker and Ollama: Self-Hosted AI Stack Guide

Build your own private AI stack on a VPS! Learn how to deploy Clawdbot with Docker and Ollama in this complete, step-by-step self-hosted setup guide.

[is\*hosting team](https://blog.ishosting.com/en/author/team-ishosting) 4 Jun 2026 8 min reading

![Clawdbot with Docker and Ollama: Self-Hosted AI Stack Guide](https://blog.ishosting.com/hubfs/blog/clawdbot-with-docker-and-ollama-on-vps/clawdbot-with-docker-and-ollama-on-vps.png)

Table of Contents

- [Why Docker + Ollama for Clawdbot?](https://blog.ishosting.com/en/clawdbot-with-docker-and-ollama-on-vps#why-docker-ollama-for-clawdbot)
- [Server Requirements](https://blog.ishosting.com/en/clawdbot-with-docker-and-ollama-on-vps#server-requirements)
- [Step 1: Setting Up Docker and the Clawdbot Container](https://blog.ishosting.com/en/clawdbot-with-docker-and-ollama-on-vps#step-1-docker-clawdbot-container)
- [Step 2: Installing Ollama and Choosing Your Model](https://blog.ishosting.com/en/clawdbot-with-docker-and-ollama-on-vps#step-2-ollama-model-selection)
- [Step 3: Connecting Clawdbot to Ollama](https://blog.ishosting.com/en/clawdbot-with-docker-and-ollama-on-vps#step-3-connecting-clawdbot-ollama)
- [Step 4: Production Hardening](https://blog.ishosting.com/en/clawdbot-with-docker-and-ollama-on-vps#step-4-production-hardening)
- [Wrapping Up](https://blog.ishosting.com/en/clawdbot-with-docker-and-ollama-on-vps#conclusion)

Clawdbot combined with Docker and Ollama is a self-hosted AI agent stack that runs local language models on your own VPS without touching the OpenAI API. OpenClaw handles agent logic, Docker keeps everything isolated, and Ollama runs inference locally.

## Why Docker + Ollama for Clawdbot?

### What Docker Adds

Pinned dependencies, reproducible behavior, and two-second restarts. OpenClaw had a command-injection advisory in 2026 ([GHSA-mc68-q9jw-2h3v](https://github.com/advisories/GHSA-mc68-q9jw-2h3v)), so pin versions; don't use latest.

### What Ollama Adds

Ollama runs LLaMA, Mistral, Qwen, and Phi locally. It exposes a native /api/chat endpoint (the one OpenClaw relies on for tool calling) and an OpenAI-compatible /v1. Use /api/chat.

### Clawdbot + OpenAI API vs. Clawdbot + Ollama

Self-hosting trades metered API bills for flat hardware costs. Data stays on your server, which matters if you're working under GDPR or HIPAA. The tradeoff: local models aren't GPT-4, but qwen2.5-coder:32b or gpt-oss:20b handle most agent loops just fine.

## Server Requirements

What do you need to run Clawdbot with Docker and Ollama?

- **Memory:** 16 GB RAM minimum for 8B models
- **OS:** Ubuntu 22.04 LTS or Debian 12
- **Software:** Docker Engine 24+ and Docker Compose v2
- **Storage:** 80 GB free disk
- **Network:** Domain name for SSL
- **Processor:** CPU with AVX2 (cat /proc/cpuinfo | grep -m1 avx2)
- **GPU (optional):** On a 4–6 vCPU CPU-only machine with 16 GB RAM, an 8B Q4 model outputs 2–6 tokens/sec. A GPU card typically gets you 10–20x that, though exact numbers depend on the card.

Note: OpenClaw requires a 64k context window, which roughly doubles memory use compared to a 4k default.

### Minimum, Recommended, and Heavy-Load Configurations

| Tier | vCPU | RAM | Storage | Model capacity | is\*hosting VPS |
| --- | --- | --- | --- | --- | --- |
| Minimum | 4 | 16 GB | 80 GB SSD | 7B Q4, short context | [VPS Elite](https://ishosting.com/en/vps/160_1y?city=chicago) |
| Recommended | 6 | 24–32 GB | 120 GB NVMe | 8B–14B Q4 at 64k context | [VPS Exclusive](https://ishosting.com/en/vps/201_1y?city=chicago) |
| Heavy (CPU) | 8 | 64 GB | 200 GB NVMe | 32B Q4 or 70B Q4 with offload | VPS Exclusive + RAM and drive upgrade |
| GPU | 8 vCPU + 24 GB VRAM | 32 GB | 200 GB NVMe | 14B–32B at full speed | is\*hosting GPU server |
| Heavy GPU | 8 vCPU + 48 GB VRAM | 64 GB | 400 GB NVMe | 70B Q4 (~40 GB VRAM for weights) | GPU server (top tier) |

*70B Q4 needs ~40 GB VRAM for weights alone. A 16 GB card will OOM.*

###### VPS in 5-15 minutes

Get dedicated resources and KVM isolation for experiments worldwide.

[Choose VPS](https://ishosting.com/en/vps)

## Step 1: Setting Up Docker and the Clawdbot Container

### Installing Docker on Ubuntu 22.04

Don't use apt install docker.io; use the official repo:

```
sudo apt remove $(dpkg --get-selections docker.io docker-compose docker-compose-v2 docker-doc docker-buildx podman-docker containerd runc | cut -f1)
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: Base Config

OpenClaw ignores LLM\_PROVIDER. Config lives in ~/.openclaw/openclaw.json, which is /home/node/.openclaw/openclaw.json inside the container: the image runs as the node user (uid 1000) and serves the Gateway and Control UI on port 18789. Create a project folder and a Gateway token:

```
mkdir -p ~/clawdbot/data && cd ~/clawdbot
echo "OPENCLAW_GATEWAY_TOKEN=$(openssl rand -hex 32)" > .env
```

Docker Compose reads the token from .env; you'll paste the same token into the Control UI to sign in. Create docker-compose.yml:

```
services:
  clawdbot:
    image: ghcr.io/openclaw/openclaw:2026.10.10
    container_name: clawdbot
    restart: unless-stopped
    env_file:
      - .env
    environment:
      OLLAMA_API_KEY: "ollama-local"
    volumes:
      - ./data:/home/node/.openclaw
    extra_hosts:
      - "host.docker.internal:host-gateway"
    ports:
      - "127.0.0.1:18789:18789"
```

### Create openclaw.json

Save the config as data/openclaw.json:

```
{
  "gateway": {
    "mode": "local",
    "bind": "lan",
    "auth": { "mode": "token" },
    "trustedProxies": ["172.28.0.10"],
    "controlUi": {
      "allowedOrigins": ["https://your-domain.com", "http://127.0.0.1:18789", "http://localhost:18789"]
    }
  },
  "agents": {
    "defaults": { "model": { "primary": "ollama/llama3.1:8b" } }
  },
  "models": {
    "providers": {
      "ollama": {
        "baseUrl": "http://host.docker.internal:11434",
        "apiKey": "ollama-local",
        "api": "ollama",
        "models": [
          {
            "id": "llama3.1:8b",
            "name": "LLaMA 3.1 8B",
            "contextWindow": 65536,
            "maxTokens": 8192,
            "params": { "num_ctx": 65536 },
            "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
          }
        ]
      }
    }
  }
}
```

The gateway block is required: without "mode": "local" the Gateway refuses to start, and the default loopback bind isn't reachable through Docker port publishing, so set "bind": "lan". "auth": { "mode": "token" } uses OPENCLAW\_GATEWAY\_TOKEN from .env. allowedOrigins lists the browser addresses that may open the Control UI: your domain for Step 4 and 127.0.0.1:18789 for the SSH tunnel below. trustedProxies is for Nginx in Step 4. baseUrl points to Ollama on the host (Step 2); for the Full Stack setup in Step 4, change it to http://ollama:11434.

The Gateway writes to this folder (it updates openclaw.json and keeps backups next to it), so don't mount the config read-only, and give the container's user ownership of the folder. Otherwise the Gateway fails with EACCES:

```
sudo chown -R 1000:1000 data
```

Start the container with docker compose up -d. The Control UI listens only on 127.0.0.1:18789, so open it from your computer through an SSH tunnel, then go to http://127.0.0.1:18789 and paste the token from .env in the Control UI Settings:

```
ssh -L 18789:127.0.0.1:18789 root@YOUR_SERVER_IP
```

Two mistakes that kill the setup immediately:

- **Binding to 0.0.0.0.** Using ports: - "18789:18789" exposes the agent port directly and bypasses UFW via Docker iptables. Always bind to 127.0.0.1:18789:18789.
- **Skipping restart policy.** Without restart: unless-stopped, crashed containers stay down until you notice.

## Step 2: Installing Ollama and Choosing Your Model

**Note:** This systemd setup only covers the host-Ollama option. If you are going straight to the Full Stack docker-compose.yml in Step 4, skip this step; Ollama runs as a container there.

### Installing Ollama as a Systemd Service

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

Add the following environment variables:

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

OLLAMA\_HOST=0.0.0.0 lets the clawdbot container reach Ollama through host.docker.internal, but it also exposes Ollama's API, which has no authentication, on the server's public interface. Close port 11434 with UFW and allow it only from Docker networks (172.16.0.0/12 covers Docker's default bridge networks):

```
sudo ufw allow OpenSSH
sudo ufw allow from 172.16.0.0/12 to any port 11434 proto tcp
sudo ufw enable
```

UFW does apply here because Ollama runs directly on the host, so Docker's iptables rules don't bypass it.

Restart and pull your desired model:

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

### LLaMA 3.1 vs. Mistral vs. Qwen2.5: Which Fits Your RAM?

OpenClaw requires tool-capable models. Check support before committing:

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

| Model | File size (Q4) | RAM at 64k context | Notes |
| --- | --- | --- | --- |
| Mistral 7B | 4.1 GB | ~10 GB | Weaker tool calling |
| LLaMA 3.1 8B | 4.7 GB | ~12 GB | Strong tool calling |
| Qwen2.5-Coder 7B | 4.4 GB | ~11 GB | OpenClaw's pick for coding |
| gpt-oss 20B | 12 GB | ~20 GB | OpenClaw's recommended default |

## Step 3: Connecting Clawdbot to Ollama

### Config Details

Use "api": "ollama". OpenClaw recommends the native /api/chat endpoint: Ollama's OpenAI-compatible /v1 also supports tools and streaming, but tool calling through it isn't reliable with OpenClaw. Don't put /v1 in baseUrl. Set both contextWindow and params.num\_ctx to 65536: contextWindow describes the model to OpenClaw, and num\_ctx is the context size OpenClaw requests from Ollama.

### Docker Networking: Host vs. Bridge

localhost inside a bridge-network container resolves to the container itself, not the host. http://localhost:11434 will fail.

The fix depends on where Ollama runs. If it runs on the host (Step 2), use http://host.docker.internal:11434: the extra\_hosts line in the Compose file maps that name to the host. If it runs as a container on the same Compose network (the Full Stack setup in Step 4), connect via http://ollama:11434.

## Step 4: Production Hardening

### SSL with Nginx + Certbot

Nginx won't start without certs; Certbot needs port 80 open first. Bootstrap with HTTP, then swap to SSL.

Create 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:18789;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_buffering off;
        proxy_read_timeout 300s;
    }
}
```

Start the stack with the Full Stack docker-compose.yml at the end of this step (read the note under it first), then issue certs:

```
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
```

**Note:** /var/www/certbot on the host is mounted into the Nginx container via the volume declared in docker-compose.yml. Start Nginx with the HTTP-only config first, then run certbot, then swap to the SSL config and reload.

Swap to the SSL config:

```
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 on;
    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:18789;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_buffering off;
        proxy_read_timeout 300s;
    }
}
```

Reload Nginx:

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

### Auth, Backups, and Firewall

- **Auth:** Add Nginx basic auth or an IP allowlist.
- **Backups:** tar the ./data directory (it includes openclaw.json), the .env file, and nginx/conf.d. Store off-box.
- **Memory limits:** Add them in Compose to prevent OOM kills.
- **Firewall:** Docker-mapped ports bypass UFW. Keep Ollama on the internal Compose network only; don't expose port 11434.

### Full Stack docker-compose.yml

```
services:
  clawdbot:
    image: ghcr.io/openclaw/openclaw:2026.10.10
    container_name: clawdbot
    restart: unless-stopped
    environment:
      OLLAMA_API_KEY: "ollama-local"
    env_file:
      - .env
    volumes:
      - ./data:/home/node/.openclaw
    depends_on:
      ollama:
        condition: service_healthy
      ollama-bootstrap:
        condition: service_completed_successfully
    networks:
      - agentnet
    deploy:
      resources:
        limits:
          memory: 4g

  ollama:
    image: ollama/ollama:0.40.14
    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.40.14
    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:
        ipv4_address: 172.28.0.10

networks:
  agentnet:
    driver: bridge
    ipam:
      config:
        - subnet: 172.28.0.0/24

volumes:
  ollama_models:
```

Before starting, set baseUrl in data/openclaw.json to http://ollama:11434. Nginx gets the fixed address 172.28.0.10, which matches gateway.trustedProxies: the Gateway rejects proxied requests from addresses it doesn't trust with a 403 error.

### Start and Verify

```
docker compose up -d
docker compose ps
docker compose exec clawdbot node dist/index.js models list
ss -ltnp | grep -E ':(80|443|18789|11434)\b'
```

Only ports 80 and 443 should be listening publicly. To sign in, open https://your-domain.com, and paste the token from .env in the Control UI Settings. If the Control UI asks you to approve the device, do it from the server:

```
docker compose exec clawdbot node dist/index.js devices list
docker compose exec clawdbot node dist/index.js devices approve <requestId>
```

###### VPS is not enough?

Get a dedicated server. For demanding workloads and custom setups.

[Get Server](https://ishosting.com/en/dedicated)

## Wrapping Up

Rent a 16–32 GB VPS, install Docker, run Ollama and OpenClaw in a shared Compose network, and proxy via Nginx with HTTPS. Use the native /api/chat, and set the context window to 64k or higher (contextWindow and num\_ctx).

The recommended setup maps to is\*hosting's Elite or [Exclusive VPS](https://ishosting.com/en/vps/201_1y?city=chicago): enough RAM for an 8B–14B model at full 64k context. For 32B+ models, jump to Exclusive with RAM upgrade or move to a [GPU server](https://ishosting.com/en/dedicated/gpu).

###### Dedicated Server with GPU

Power for ML, rendering, and compute-heavy tasks.

[From $88.75/mo](https://ishosting.com/en/dedicated/gpu)

Table of Contents

- [Why Docker + Ollama for Clawdbot?](https://blog.ishosting.com/en/clawdbot-with-docker-and-ollama-on-vps#why-docker-ollama-for-clawdbot)
- [Server Requirements](https://blog.ishosting.com/en/clawdbot-with-docker-and-ollama-on-vps#server-requirements)
- [Step 1: Setting Up Docker and the Clawdbot Container](https://blog.ishosting.com/en/clawdbot-with-docker-and-ollama-on-vps#step-1-docker-clawdbot-container)
- [Step 2: Installing Ollama and Choosing Your Model](https://blog.ishosting.com/en/clawdbot-with-docker-and-ollama-on-vps#step-2-ollama-model-selection)
- [Step 3: Connecting Clawdbot to Ollama](https://blog.ishosting.com/en/clawdbot-with-docker-and-ollama-on-vps#step-3-connecting-clawdbot-ollama)
- [Step 4: Production Hardening](https://blog.ishosting.com/en/clawdbot-with-docker-and-ollama-on-vps#step-4-production-hardening)
- [Wrapping Up](https://blog.ishosting.com/en/clawdbot-with-docker-and-ollama-on-vps#conclusion)

<http://www.facebook.com/share.php?u=https%3A%2F%2Fblog.ishosting.com%2Fen%2Fclawdbot-with-docker-and-ollama-on-vps%3Futm_medium%3Dsocial%26utm_source%3Dfacebook> <https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fblog.ishosting.com%2Fen%2Fclawdbot-with-docker-and-ollama-on-vps%3Futm_medium%3Dsocial%26utm_source%3Dtwitter&url=https%3A%2F%2Fblog.ishosting.com%2Fen%2Fclawdbot-with-docker-and-ollama-on-vps%3Futm_medium%3Dsocial%26utm_source%3Dtwitter&source=tweetbutton&text=> <http://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fblog.ishosting.com%2Fen%2Fclawdbot-with-docker-and-ollama-on-vps%3Futm_medium%3Dsocial%26utm_source%3Dlinkedin> <http://pinterest.com/pin/create/button/?url=https%3A%2F%2Fblog.ishosting.com%2Fen%2Fclawdbot-with-docker-and-ollama-on-vps%3Futm_medium%3Dsocial%26utm_source%3Dpinterest&media=https%3A%2F%2F25913237.fs1.hubspotusercontent-eu1.net%2Fhubfs%2F25913237%2Fblog%2Fclawdbot-with-docker-and-ollama-on-vps%2Fclawdbot-with-docker-and-ollama-on-vps.png&description=Build%20your%20own%20private%20AI%20stack%20on%20a%20VPS!%20Learn%20how%20to%20deploy%20Clawdbot%20with%20Docker%20and%20Ollama%20in%20this%20complete,%20step-by-step%20self-hosted%20setup%20guide.>

## Related articles

![Docmost on VPS: Self-Hosted Wiki for Teams That Need Data Control](https://blog.ishosting.com/hubfs/blog/docmost-self-hosted-wiki-vps/docmost-self-hosted-wiki-vps.png)

Technology

### Docmost on VPS: Self-Hosted Wiki for Teams That Need Data Control

Deploy Docmost, an open-source self-hosted wiki, on your VPS with Docker. Full data control, real-time editing, and a...

is\*hosting team 7 May 2026 8 min reading 

<https://blog.ishosting.com/en/docmost-self-hosted-wiki-vps>

![Astro on a VPS: Full Deployment Guide (Static + SSR)](https://blog.ishosting.com/hubfs/blog/astro-on-vps/astro-on-vps.png)

How to

### Astro on a VPS: Full Deployment Guide (Static + SSR)

Full guide to self-hosting an Astro site on a VPS. Set up static or SSR deployment with Nginx, Node.js 22, PM2, and...

is\*hosting team 25 Jun 2026 8 min reading 

<https://blog.ishosting.com/en/astro-on-vps>

![Obsidian on VPS: Self-Hosted Sync Without the Subscription](https://blog.ishosting.com/hubfs/blog/obsidian-on-vps/obsidian-on-vps.png)

Hosting

### Obsidian on VPS: Self-Hosted Sync Without the Subscription

Want free, private note syncing? Learn how to install and configure a self-hosted Obsidian sync server on a VPS to...

is\*hosting team 28 Jul 2026 9 min reading 

<https://blog.ishosting.com/en/obsidian-on-vps>

## Subscribe to Newsletter

The latest news, profitable discounts, and informative articles - subscribe to the is\*hosting blog and be the first to receive a useful newsletter.

- **Services**
  
  Services

    - [Virtual Private Servers](https://ishosting.com/en/vps)
    - [Dedicated Servers](https://ishosting.com/en/dedicated)
    - [Storage](https://ishosting.com/en/storage)
    - [VPN](https://ishosting.com/en/vpn)
    - [Special Offers](https://ishosting.com/en/special-offers)
- ---
- **Company**
  
  Company

    - [About Us](https://ishosting.com/en/about)
    - [Data Centers](https://ishosting.com/en/datacenters)
    - [Blog](https://blog.ishosting.com/en)
    - [Contacts](https://ishosting.com/en/about#offices)
- ---
- **Information**
  
  Information

    - [Knowledge Base](https://help.ishosting.com/en)
    - [Support](https://ishosting.com/en/support)
    - [Payments Methods](https://ishosting.com/en/payment-methods)
- ---
- **Account**
  
  Account

    - [Create Account](https://my.ishosting.com/en/register)

---

<https://ishosting.com> © 2026

 WEBRAIN OÜ, Harju maakond, Tallinn, Kesklinna linnaosa, Endla tn 4, 10142

<https://www.facebook.com/ishostingcom> <https://twitter.com/ishostingcom> <https://www.instagram.com/is.hosting> <https://www.linkedin.com/company/is-hosting> <https://www.youtube.com/@ishosting> <https://www.pinterest.com/ishostingcom>

- [![](https://blog.ishosting.com/hs-fs/hubfs/raw_assets/public/ishosting-theme/images/rating-sm.png?width=328&height=70&name=rating-sm.png) ![](https://blog.ishosting.com/hs-fs/hubfs/raw_assets/public/ishosting-theme/images/rating.png?width=421&height=70&name=rating.png)](https://hostadvice.com/hosting-company/ishosting-reviews/#main-info)

---

- [Terms of Use](https://ishosting.com/en/terms-of-use)
- [Privacy Policy](https://ishosting.com/en/privacy-policy)
- [KYC Policy](https://ishosting.com/en/kyc-policy)
- [SLA](https://ishosting.com/en/service-level-agreement)
- [AUP](https://ishosting.com/en/acceptable-use-policy)
- en
  
    - [en](https://blog.ishosting.com/en)
    - [ru](https://blog.ishosting.com/ru/clawdbot-with-docker-and-ollama-on-vps)

```json
{
  "@context" : "https://schema.org",
  "@type" : "BlogPosting",
  "abstract" : "Build your own private AI stack on a VPS! Learn how to deploy Clawdbot with Docker and Ollama in this complete, step-by-step self-hosted setup guide.",
  "alternativeHeadline" : "Clawdbot with Docker and Ollama: Guide to a Self-Hosted AI Stack ",
  "articleSection" : "How to",
  "author" : {
    "@type" : "Organization",
    "name" : "is*hosting team",
    "sameAs" : [ "https://www.linkedin.com/company/is-hosting", "https://twitter.com/ishostingcom", "https://www.instagram.com/is.hosting" ],
    "url" : "https://blog.ishosting.com/en/author/team-ishosting"
  },
  "dateModified" : "2026-11-04T14:24:30.000Z",
  "datePublished" : "2026-06-04T04:00:00.000Z",
  "description" : "Build your own private AI stack on a VPS! Learn how to deploy Clawdbot with Docker and Ollama in this complete, step-by-step self-hosted setup guide.",
  "headline" : "Clawdbot with Docker and Ollama: Self-Hosted AI Stack Guide",
  "image" : [ {
    "@type" : "ImageObject",
    "height" : 1348,
    "name" : "Clawdbot with Docker and Ollama: Self-Hosted AI Stack Guide",
    "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
  } ],
  "inLanguage" : "en",
  "mainEntityOfPage" : {
    "@id" : "https://blog.ishosting.com/en/clawdbot-with-docker-and-ollama-on-vps",
    "@type" : "WebPage"
  },
  "publisher" : {
    "@type" : "Organization",
    "address" : [ {
      "@type" : "PostalAddress",
      "addressCountry" : "EE",
      "addressLocality" : "Tallinn",
      "addressRegion" : "Harju maakond",
      "postalCode" : "10120",
      "streetAddress" : "Kesklinna linnaosa, Tuukri tn 19-315"
    }, {
      "@type" : "PostalAddress",
      "addressCountry" : "GB",
      "addressLocality" : "London",
      "addressRegion" : "England",
      "postalCode" : "W1W 7LT",
      "streetAddress" : "85 Great Portland Street, First Floor"
    } ],
    "description" : "is*hosting is an IaaS provider since 2005. We provide VPS, VPN, dedicated servers and data storage to help you achieve your biggest dreams.",
    "email" : "sales@ishosting.com",
    "foundingDate" : "2005",
    "legalName" : "WEBRAIN OÜ",
    "logo" : {
      "@type" : "ImageObject",
      "height" : 26,
      "url" : "https://help.ishosting.com/hubfs/logo-ishosting.png",
      "width" : 138
    },
    "name" : "is*hosting"
  },
  "thumbnailUrl" : "https://25913237.fs1.hubspotusercontent-eu1.net/hubfs/25913237/blog/clawdbot-with-docker-and-ollama-on-vps/clawdbot-with-docker-and-ollama-on-vps.png",
  "timeRequired" : "PT8M",
  "url" : "https://blog.ishosting.com/en/clawdbot-with-docker-and-ollama-on-vps",
  "wordCount" : 2661
}
```

```json
{
  "@context" : "https://schema.org",
  "@type" : "BreadcrumbList",
  "itemListElement" : [ {
    "@type" : "ListItem",
    "item" : "https://blog.ishosting.com/en",
    "name" : "Blog",
    "position" : 1
  }, {
    "@type" : "ListItem",
    "item" : "https://blog.ishosting.com/en/tag/how-to",
    "name" : "How to",
    "position" : 2
  }, {
    "@type" : "ListItem",
    "item" : "https://blog.ishosting.com/en/clawdbot-with-docker-and-ollama-on-vps",
    "name" : "Clawdbot with Docker and Ollama: Self-Hosted AI Stack Guide",
    "position" : 3
  } ]
}
```

```json
{
  "@context" : "https://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "is*hosting team",
    "url" : "https://blog.ishosting.com/en/author/team-ishosting"
  },
  "dateModified" : "2026-11-04T14:24:30.551Z",
  "datePublished" : "2026-06-04T04:00:00.000Z",
  "headline" : "Clawdbot with Docker and Ollama: Guide to a Self-Hosted AI Stack ",
  "image" : [ "https://blog.ishosting.com/hubfs/blog/clawdbot-with-docker-and-ollama-on-vps/clawdbot-with-docker-and-ollama-on-vps.png" ],
  "mainEntityOfPage" : {
    "@id" : "https://blog.ishosting.com/en/clawdbot-with-docker-and-ollama-on-vps",
    "@type" : "WebPage"
  },
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://blog.ishosting.com/hubfs/logo-ishosting.png"
    },
    "name" : "WEBRAIN OÜ"
  }
}
```