Railway

Deploy CoPaw - AI Assistant

Versatile local/cloud AI assistant with memory, tasks, and chat channels.

Deploy CoPaw - AI Assistant

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

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.

ProtocolProxy TypeTarget PortPurpose
HTTPHTTP Proxy8088CoPaw 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.

VariableRequiredDescription
DASHSCOPE_API_KEYOptionalAPI key for DashScope when using it as a cloud LLM provider
TAVILY_API_KEYOptionalAPI 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:

  1. Open the CoPaw service in Railway.
  2. Go to Settings.
  3. Open Volumes.
  4. Add a Volume.
  5. 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:

  1. Open the CoPaw service in Railway.
  2. Open Settings → Networking.
  3. Generate a domain for port 8088.
  4. Open the generated HTTPS URL in your browser.
  5. 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:

  1. Open the CoPaw Console.
  2. Go to Settings → Models.
  3. Select a provider.
  4. Enter the provider API key.
  5. Enable the provider and model.
  6. 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
  • QQ
  • 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

More templates in this category

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

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

Jan Kubica
1
View Template
Hermes Agent | OpenClaw Alternative with Dashboard
Self-Hosted Hermes AI Agent for Telegram, Discord & Slack

codestorm
56