How to Migrate Your OpenClaw from Self-Hosted to Managed
Step-by-step guide to migrating your OpenClaw from a self-hosted VPS to nacre.sh managed hosting without losing data or configuration.
Made the decision to move from a self-hosted VPS to nacre.sh? Smart choice. This guide walks through the complete migration process — exporting your configuration, skills, and memory from your existing instance, and importing it cleanly into nacre.sh. Total migration time is typically 20–40 minutes.
What Can Be Migrated
✅ Migrates cleanly:
- OpenClaw configuration (
openclaw.json) - Installed skills list and their configurations
- Agent memory and conversation history
- Custom system prompts and persona settings
- Channel configurations (Telegram bot token, Discord token, etc.)
⚠️ Requires manual attention:
- API keys (you'll re-enter these in nacre.sh's secure key store)
- Custom skill files you've written locally
- Secrets stored in environment variables
❌ Cannot migrate:
- Local files your agent had access to (filesystem access scope differs between self-hosted and managed)
- Database connections to localhost services
Step 1: Export from Self-Hosted
SSH into your self-hosted instance and create an export:
cd ~/openclaw # or wherever OpenClaw is installed
# Export full configuration
docker compose exec openclaw openclaw export --output /tmp/openclaw-export.zip
# Copy the export file to your local machine
# On your LOCAL machine:
scp user@your-server-ip:/tmp/openclaw-export.zip ./openclaw-export.zip
The export file includes your configuration, memory, and skills list (but not API keys for security reasons).
Step 2: Record Your Current Settings
Before migrating, document:
# List installed skills
docker compose exec openclaw openclaw skills list
# View current configuration (will show non-sensitive settings)
docker compose exec openclaw openclaw config show
Screenshot or note:
- All installed skills and their versions
- Telegram/Discord bot tokens (you'll need these in nacre.sh)
- Any custom system prompt text
- LLM model selection and any custom parameters
Step 3: Create Your nacre.sh Instance
- Go to nacre.sh/signup and choose a plan
- Select your preferred region (closest to your users)
- Your instance will be provisioned in approximately 2–3 minutes
Step 4: Import Your Configuration
In your nacre.sh dashboard:
- Click Import Configuration
- Upload your
openclaw-export.zipfile - The platform imports your skills list, memory, and configuration automatically
Step 5: Re-enter API Keys and Tokens
In your nacre.sh instance settings, re-enter:
- LLM API key (Anthropic, OpenAI, etc.)
- Telegram bot token
- Any other channel bot tokens
- Skills that require their own API keys (Google OAuth, GitHub token, etc.)
nacre.sh stores all keys in encrypted vaults, isolated per customer.
Step 6: Verify and Test
Before shutting down your old server:
- Test your agent responds correctly in your connected channel
- Verify memory recall works ("What did we talk about yesterday?")
- Test each installed skill with a simple command
- Confirm your custom system prompt is active
Step 7: Decommission the Old Server
Once you're satisfied the migration is complete:
# On your old server — graceful shutdown
docker compose down
# Cancel your VPS subscription
# The server will be deleted at the end of your billing period
Keep your openclaw-export.zip for at least 30 days as a backup.
Frequently Asked Questions
Will my Telegram/Discord bot users notice any disruption?
If you migrate during low-usage hours, the transition is seamless. The bot token stays the same — users continue chatting without any visible change.
Can I run both old and new instances simultaneously?
For Telegram and WhatsApp, only one instance can use a given bot token at a time. Briefly disconnect the channel on your old instance before connecting it to nacre.sh.
nacre.sh
Run OpenClaw without the server headaches
Dedicated instance, automatic TLS, nightly backups, and 290+ LLM integrations. Live in under 90 seconds from $12/month.
Deploy your agent →