Dev Mode
Test the full EasyClaw dashboard locally without Docker, Stripe, or a VPS
What is Dev Mode?
Dev mode lets you run and test the entire EasyClaw dashboard UI without needing a real VPS, Docker engine, or Stripe account. It's designed for local development only.
When enabled, dev mode:
- Skips Docker — Deploy, start, stop, restart, and delete actions update the database but don't create real containers. A fake container ID is assigned instead.
- Skips Stripe checkout — The landing page flow redirects straight to the dashboard instead of going through Stripe payment.
- Shows mock subscription — The subscription page displays a fake "Pro / Active" subscription so you can test the full dashboard without paying.
- Keeps everything else real — Auth, database operations, API key encryption, model selection, and Telegram bot token management all work normally against your Supabase instance.
How to Enable
Add this line to your .env.local file:
Then restart the dev server:
Never enable dev mode in production. It bypasses billing enforcement and container provisioning.
Minimum .env.local for Dev Mode
With dev mode on, you only need a subset of environment variables. The VPS, Docker, and Stripe values can be placeholders:
What Works vs What Doesn't
| Feature | Dev Mode | Notes |
|---|---|---|
| Google OAuth sign-in | Works | Requires real Supabase project |
| Deploy instance | Works | Creates DB record with fake container ID |
| Start / Stop / Restart | Works | Updates DB status, skips Docker calls |
| Delete instance | Works | Removes DB record, skips container removal |
| API key management | Works | Encrypted storage works, skips container restart |
| Telegram bot token | Works | Token saved, skips container restart |
| AI model selection | Works | Preference saved in DB |
| Subscription page | Mock | Shows fake "Pro / Active" subscription |
| Stripe checkout | Skipped | Landing flow redirects to dashboard |
| Visit instance URL | No | No real container, subdomain won't resolve |
| Refresh status from Docker | Mock | Returns current DB status, no Docker query |
Switching to Production
When you're ready to go live, remove or set the flag to false:
Then fill in real values for all environment variables (VPS connection, Stripe keys, etc.) and redeploy. See the full .env.local.example for reference.