Deploy CoPaw - AI Assistant
Versatile local/cloud AI assistant with memory, tasks, and chat channels.
Just deployed
/app/working
Deploy and Host CoPaw on Railway
CoPaw is a personal AI assistant designed to run locally or in the cloud and connect with multiple chat applications. It provides memory and personalization, scheduled tasks, extensible Skills, MCP support, model configuration, and channels including DingTalk, Feishu, QQ, Discord, and iMessage. It also includes a web-based Console for managing the assistant.
About Hosting CoPaw
Hosting CoPaw on Railway involves deploying the official agentscope/copaw:latest Docker image and exposing its Console on port 8088. CoPaw stores configuration, memory, and Skills in its working directory, /app/working, so a Railway Volume should be mounted there to preserve data across deployments and restarts. Railway provides the public HTTPS endpoint for the Console, while model providers and chat channels can be configured through the Console after deployment. Cloud LLM providers may require API keys, while local model backends such as llama.cpp and MLX do not require cloud API keys.
Common Use Cases
- Personal AI assistants with persistent memory and personalization
- Multi-channel assistants for Discord, DingTalk, Feishu, QQ, iMessage, and other supported channels
- AI productivity and research workflows using Skills, scheduled tasks, MCP tools, and configurable models
Dependencies for CoPaw Hosting
- CoPaw Docker image
- Railway Volume for persistent configuration, memory, and Skills
- An LLM provider, such as a supported cloud provider or local model backend
- API keys for cloud providers or tools that require them
Deployment Dependencies
- CoPaw GitHub Repository
- CoPaw Documentation
- CoPaw Docker Image
- CoPaw Model Configuration Documentation
- CoPaw Channel Documentation
- CoPaw Configuration Documentation
Implementation Details
Docker
CoPaw provides an official Docker image on Docker Hub:
agentscope/copaw:latest
The latest tag is documented as the stable image.
Railway can deploy the prebuilt image directly, so no custom build command is required.
Public Networking
CoPaw's Console listens on port 8088.
| Protocol | Proxy Type | Target Port | Purpose |
|---|---|---|---|
| HTTP | HTTP Proxy | 8088 | CoPaw Console and web application |
After deployment, generate a Railway domain for port 8088 from Settings → Networking → Generate Domain.
The resulting URL can be used to access the CoPaw Console.
Environment Variables
CoPaw does not require a fixed set of environment variables for its basic deployment. Model providers and additional tools can be configured from the Console. The documentation specifically supports passing provider keys such as DASHSCOPE_API_KEY through the environment, while tool-specific keys such as TAVILY_API_KEY can also be configured through Settings → Environment variables.
| Variable | Required | Description |
|---|---|---|
DASHSCOPE_API_KEY | Optional | API key for DashScope when using it as a cloud LLM provider |
TAVILY_API_KEY | Optional | API key for tools that use Tavily, such as web search |
Raw Editor example:
DASHSCOPE_API_KEY=your_dashscope_api_key
TAVILY_API_KEY=your_tavily_api_key
These variables are optional because CoPaw can also configure providers through the Console. Cloud LLM providers require an API key before they can be used.
Persistent Storage
Persistent storage is required for a useful Railway deployment.
The official Docker instructions mount the CoPaw working directory at:
/app/working
and state that configuration, memory, and Skills are stored in the volume.
To add persistent storage:
- Open the CoPaw service in Railway.
- Go to Settings.
- Open Volumes.
- Add a Volume.
- Set the mount path to:
/app/working
The Volume preserves CoPaw configuration, memory, Skills, and other working data when the service restarts or is redeployed.
Database
No external database is documented as required.
CoPaw stores its configuration and memory in its working directory, which should be persisted using the Railway Volume.
Build & Start
No custom build or start commands are required when deploying the official Docker image.
Use:
agentscope/copaw:latest
The documented Docker deployment exposes port 8088 and mounts persistent data at /app/working.
Accessing the Application
After deployment:
- Open the CoPaw service in Railway.
- Open Settings → Networking.
- Generate a domain for port
8088. - Open the generated HTTPS URL in your browser.
- Use the CoPaw Console to configure the assistant.
The Console is the primary interface for chatting with CoPaw and configuring models, channels, Skills, MCP clients, and other settings.
First Login and Model Setup
After opening the Railway domain, configure an LLM provider before attempting to chat.
For a cloud LLM:
- Open the CoPaw Console.
- Go to Settings → Models.
- Select a provider.
- Enter the provider API key.
- Enable the provider and model.
- Start chatting with CoPaw.
The project documentation states that CoPaw will not work with a cloud LLM until a valid API key is configured.
You can alternatively configure supported provider keys through Railway environment variables.
Channels
CoPaw supports multiple chat channels, including:
- DingTalk
- Feishu
- Discord
- iMessage
- Telegram
- Voice channels
Channels can be configured from the CoPaw Console after deployment. The project is designed so additional channels and capabilities can be extended through its configuration and Skills system.
Skills and MCP
CoPaw includes built-in Skills and supports custom Skills in its workspace. It also supports MCP clients for extending the agent with additional tools and capabilities. These can be managed through the Console after deployment.
Local Models
CoPaw supports local model backends including llama.cpp, MLX, and Ollama. The project documentation notes that local models do not require cloud API keys.
When using Ollama as a separate service, configure its reachable Base URL in CoPaw's Settings → Models → Ollama rather than using localhost to refer to another Railway service.
Why Deploy CoPaw on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying CoPaw on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.
Template Content
