---
title: "Deploy opendots"
description: "Persistent AI coworker workspace with chat, research, pages, and calls"
category: "AI/ML"
url: https://railway.com/deploy/opendots-2
---

# Deploy opendots

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

**[Deploy opendots on Railway](https://railway.com/template/opendots-2)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/opendots-2/manifest.json

- **Creator:** kmaki's Projects
- **Category:** AI/ML

## Template content

### app

- **Image:** xiaosong233/opendots-railway:latest
- **Public domain:** Yes

## Documentation

# 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](https://railway.com/button.svg)](https://railway.com/deploy/opendots-2)

## 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

| Service | Image | Port | Volume |
|---------|-------|------|--------|
| app     | xiaosong233/opendots-railway:latest | 4310 | /data |


## Similar templates

- [Chat Chat](https://railway.com/deploy/-WWW5r) — Chat Chat, your own unified chat and search to AI platform.
- [stella](https://railway.com/deploy/stella) — Self-host stella with web, API, Postgres, Redis, and object storage.
- [Hermes Agent | OpenClaw Alternative with Dashboard](https://railway.com/deploy/hermes-agent-or-openclaw-alternative-wit) — Self-Hosted Hermes AI Agent for Telegram, Discord & Slack

Open this page in a browser: https://railway.com/deploy/opendots-2
