Skip to content
Subs -25% LAUNCH-SUB
Claws -25% LAUNCH-CLAWS

Migration Guide

5 min read Advanced Last updated February 10, 2026

Moving Between Self-hosting and ClawHosters

If you started with one hosting option and want to switch, this guide covers the process in both directions. The main challenge is transferring your configuration and conversation data without losing anything.

Self-hosting to ClawHosters

Step 1: Export Your Configuration

Before creating a ClawHosters instance, gather your current setup:

  1. Copy your openclaw.json configuration file
  2. Note your current LLM provider and model settings
  3. Export any custom skills or plugins you have installed
  4. Back up your data volume contents
bash
# Copy config from your self-hosted instance
docker cp openclaw:/app/openclaw.json ./openclaw-backup.json

# Back up the data volume
docker run --rm -v openclaw_data:/data -v $(pwd):/backup alpine tar czf /backup/openclaw-data.tar.gz /data

Step 2: Create a ClawHosters Instance

  1. Sign in at clawhosters.com
  2. Create a new instance with your preferred tier
  3. Wait for provisioning to complete (under one minute)

Step 3: Choose Your LLM Configuration

You have two options for LLM access on ClawHosters:

Managed tiers (Eco, Standard, Premium): No configuration needed. ClawHosters handles the API keys and billing.

BYOK (Bring Your Own Key): Enter your existing API key in the dashboard. The instance connects directly to your provider.

Step 4: Transfer Configuration

After your instance is running:

  1. Open the web UI at your instance's address on port 8080
  2. Apply your openclaw.json settings through the gateway interface
  3. Reinstall any custom skills or plugins

Step 5: Set Up Channels

If you were using Telegram or WhatsApp:

  1. Go to the channel pairing section in the ClawHosters dashboard
  2. Follow the pairing flow for each channel
  3. Update your bot's webhook URL to point to the new instance

Note: You will need to re-pair channels because webhook URLs change when the server address changes.

Step 6: Verify and Decommission

  1. Test the new instance through the web UI
  2. Test each paired channel
  3. Once confirmed working, shut down your self-hosted instance

ClawHosters to Self-hosting

Step 1: Prepare Your Server

Set up a server with the requirements:

  • Linux server (Ubuntu 22.04+ recommended)
  • Docker and docker-compose installed
  • At least 2 vCPU and 4 GB RAM
  • Firewall configured (SSH + your chosen web port)

Step 2: Export from ClawHosters

If you have SSH access to your ClawHosters instance:

bash
# SSH into your instance (request access through the dashboard if needed)
ssh root@your-instance-ip

# Copy the configuration
docker cp openclaw:/app/openclaw.json /tmp/openclaw.json

# Back up the data volume
docker run --rm -v openclaw_data:/data -v /tmp:/backup alpine tar czf /backup/openclaw-data.tar.gz /data

If you do not have SSH access, export your configuration through the web UI and note your settings manually.

Step 3: Set Up Docker on Your Server

Create a docker-compose.yml based on the Docker Configuration Reference:

yaml
version: "3.8"
services:
  openclaw:
    image: ghcr.io/phioranex/openclaw-docker:latest
    ports:
      - "8080:18789"
    volumes:
      - openclaw_data:/data
    environment:
      - OPENCLAW_GATEWAY_MODE=local
    command: gateway --allow-unconfigured --bind lan
    restart: unless-stopped

volumes:
  openclaw_data:

Step 4: Import Your Data

bash
# Start the container
docker-compose up -d

# If you have a data backup, restore it
docker run --rm -v openclaw_data:/data -v $(pwd):/backup alpine tar xzf /backup/openclaw-data.tar.gz -C /

# Copy your configuration into the container
docker cp openclaw.json openclaw:/app/openclaw.json

# Restart to apply
docker-compose restart

Step 5: Configure LLM Access

You will need your own API keys for self-hosting:

  1. Obtain an API key from your preferred LLM provider
  2. Add it to your openclaw.json or environment variables
  3. See the Environment Variables reference for configuration options

Step 6: Set Up Channels

Re-configure any messaging channels:

  • Telegram: Create a new bot or update the webhook URL to your server's address
  • WhatsApp: Update the webhook configuration to point to your server

Step 7: Cancel ClawHosters

Once everything is working on your self-hosted setup:

  1. Verify all channels are responding
  2. Test the web UI
  3. Pause or delete your ClawHosters instance through the dashboard

What Transfers and What Does Not

Data Transfers? Notes
openclaw.json configuration Yes Copy manually
Conversation history Yes Stored in data volume
Installed skills/plugins Partially Need to reinstall, but config transfers
Channel pairings No Must re-pair on new instance
LLM API keys (BYOK) Yes Copy your keys manually
Managed LLM access No Only available on ClawHosters
Custom domain settings No DNS needs to be reconfigured

Planning for Downtime

During migration, there will be a period where your assistant is unavailable:

Estimated downtime: - Self-hosting to ClawHosters: 5-15 minutes (mostly channel re-pairing) - ClawHosters to self-hosting: 30-60 minutes (server setup + configuration)

To minimize downtime: 1. Set up the new instance first without switching channels 2. Test the new instance through the web UI 3. Switch channels only after confirming the new instance works 4. The channel switch itself takes under a minute

Troubleshooting Migration Issues

Container will not start after data import: Check that the data volume paths match between source and destination. The volume mount path must be identical.

Configuration not applied: Verify that openclaw.json is in the correct location inside the container. Use docker exec openclaw cat /app/openclaw.json to confirm.

Channels not receiving messages: Webhook URLs must point to the new server's address. Check that your firewall allows incoming traffic on the web port.

Related Documentation