Repository navigation
Cloud and Self Hosting
Cascade Cloud consists of the React/Vite frontend under cloud/web/ and the Express/Socket.IO backend under cloud/server/. In production, the backend serves the built frontend, API and OAuth endpoints from the same host.
Open cascadeai.in. The hosted interface includes authenticated chat, account preferences, connected models, file storage, memory, and optional browser tools. Browser-session entitlements can depend on the managed deployment configuration and plan. Model API keys are generally supplied by users rather than billed through a shared operator key.
git clone https://github.com/Varun-SV/Cascade-AI.git
cd Cascade-AI
cp .env.example .env
# Edit .env: choose a strong SESSION_SECRET and configure real OAuth.
docker compose up
# Visit http://localhost:8787Authentication setup is required: the app can start with no enabled login method if OAuth is not configured. For private local testing only, you can set CLOUD_DEV_BYPASS=1 in .env before starting. This deliberately disables authentication checks. The default docker-compose.yml publishes to 127.0.0.1 specifically to avoid exposing that bypass. Before accepting connections from other devices, turn the bypass off and configure real OAuth and HTTPS.
For Railway or another container host, use the documented Dockerfile.cloud build path, persistent DATA_DIR storage (normally a mounted /data volume), a strong SESSION_SECRET, correctly set WEB_ORIGIN and OAUTH_REDIRECT_BASE_URL, and OAuth client credentials with matching callbacks.
| Component | Important requirement |
|---|---|
cloud/server |
Persistent SQLite/user files volume |
cloud/web |
Built frontend served under the same origin |
| Login | Valid GitHub/Google OAuth for externally accessible instances |
| Browser | Optional operator-provisioned CDP or Steel backend |
| Billing | Optional operator configuration; secrets server-side only |
| Health |
/health endpoint for deployment verification |
Never rely on an ephemeral container filesystem for persistent chats or uploads. Deployment-specific configuration examples are in cloud/DEPLOY.md and cloud/server/.env.example.
Remote browser use is not available until a server operator configures REMOTE_BROWSER_* variables. Do not accept arbitrary client-provided CDP URLs: the backend may otherwise connect to private network targets. See Browser-Control.
Sources: docker-compose.yml, cloud/server/src/.