6 custom skills (assign-task, dispatch-webhook, daily-briefing, task-capture, qmd-brain, tts-voice) with technical documentation. Compatible with Claude Code, OpenClaw, Codex CLI, and OpenCode.
1.8 KiB
OpenClaw on Fly.io
Overview
This guide enables deploying OpenClaw Gateway on Fly.io with persistent storage, automatic HTTPS, and multi-channel access (Discord, Telegram, etc.).
Key Requirements
- flyctl CLI installation
- Fly.io account (free tier eligible)
- API credentials (Anthropic, OpenAI, etc.)
- Channel tokens (Discord bot token, etc.)
Core Setup Steps
1) App & Volume Creation
Clone the repository, create a Fly app, and establish a 1GB persistent volume in your preferred region (London, Virginia, or San Jose).
2) Configuration
The fly.toml file requires:
--bind lanflag to expose the gateway to Fly's proxy--allow-unconfiguredto launch without initial config- Port 3000 binding for health checks
- Minimum 2GB RAM allocation (512MB insufficient)
3) Security Setup
Set secrets via command line for gateway tokens, API keys, and channel credentials. Prefer env vars over config file for all API keys and tokens.
4) Deployment & Config
Deploy using fly deploy, then SSH into the machine to create /data/openclaw.json with agent, authentication, and channel bindings.
Access Methods
- Control UI: Browser at
https://my-openclaw.fly.dev/ - SSH Console:
fly ssh console - Logs:
fly logsfor monitoring
Private Deployment Option
Use fly.private.toml for hardened deployments without public IP exposure, ideal for outbound-only use cases or webhook delivery via ngrok/Tailscale tunnels.
Troubleshooting Highlights
- Binding issues: Ensure
--bind lanin process command - Memory errors: Increase to 2GB minimum
- Lock file problems: Remove
/data/gateway.*.lock - State persistence: Verify
OPENCLAW_STATE_DIR=/dataconfiguration
Estimated Cost
$10-15 monthly with recommended specifications.