Deploy opendots

Persistent AI coworker workspace with chat, research, pages, and calls

Deploy opendots

Deploy and Host OpenDots on Railway

OpenDots is a self-hosted AI coworker workspace for persistent specialist agents that move between chat, calls, research, pages, and Slack. It provides a browser UI, local SQLite workspace state, CopilotKit Intelligence integration, model-provider support, scheduled work, and optional browser/computer integrations for building personal agent workflows.

Deploy on Railway

About Hosting OpenDots on Railway

Railway runs the Docker image as a single HTTP service with a generated HTTPS domain and a persistent volume for the SQLite workspace. The template uses a pre-built Docker Hub image, so deployment does not depend on GitHub source builds or Railpack detection.

Tech Stack

  • Node.js 24
  • React, Vite, and TypeScript
  • Hono and @hono/node-server
  • CopilotKit, AG-UI, and TanStack AI integrations
  • SQLite database stored on the Railway volume
  • Docker Hub image: xiaosong233/opendots-railway:latest

Why Deploy OpenDots on Railway

Railway provides one-click project creation, managed HTTPS, persistent volumes, environment variables, and simple deployment visibility. The Docker-only template starts quickly and keeps the application state attached to the service without requiring a separate database service.

Common Use Cases

  • Personal AI coworker and specialist-agent workspaces
  • Research, drafting, review, and knowledge-page workflows
  • Scheduled background tasks tied to agent conversations
  • Model-provider experiments with an OpenAI-compatible endpoint
  • Optional voice, Slack, browser, and computer integrations

Deployment Notes

  • The app listens on container port 4310; Railway routing is configured through PORT=4310.
  • Template variables include HOST=0.0.0.0, PORT=4310, DATABASE_PATH=/data/opendots.sqlite, OWNER_ID=opendots-owner, OWNER_TOKEN=${{secret(32)}}, OPENAI_BASE_URL=https://api.openai.com/v1, WEB_SEARCH_PROVIDER=parallel, and VOICE_NAME=marin.
  • OWNER_TOKEN is generated as a Railway secret and protects API requests with bearer authentication; there is no separate username/password login in the upstream application.
  • The /data volume stores /data/opendots.sqlite; it is required for durable pages, settings, and workspace state.
  • Configure INTELLIGENCE_API_KEY, OPENAI_API_KEY, and OPENAI_MODEL after deployment to enable live agent conversations. The UI is usable in setup state without these optional provider credentials.
  • Browser, voice, Slack, and computer features require their corresponding upstream integrations and secrets. Optional variables include INTELLIGENCE_API_URL, INTELLIGENCE_WS_URL, VOICE_API_KEY, VOICE_MODEL, BROWSER_URL, BROWSER_SECRET, SLACK_CHANNEL_NAME, SLACK_TEAM_ID, SLACK_USER_IDS, COMPUTER_SUPERVISOR_URL, COMPUTER_SUPERVISOR_TOKEN, COMPUTER_TOKEN, and PARALLEL_API_KEY.

Dependencies for OpenDots on Railway

OpenDots is a single-service template. It depends on its Docker image, the attached /data volume, and optional external CopilotKit Intelligence and model-provider APIs configured through environment variables.

Deployment Dependencies

ServiceImagePortVolume
appxiaosong233/opendots-railway:latest4310/data

Template Content

More templates in this category

View Template
Chat Chat
Chat Chat, your own unified chat and search to AI platform.

okisdev
117
View Template
NEW
Möbius v0.1 Personal AI OS
Self-hosted AI agent that builds and runs apps for you, with memory.

bento
1
View Template
stella
Self-host stella with web, API, Postgres, Redis, and object storage.

Jan Kubica
7