用途:指导将 Python 服务部署到 Railway,适用于 Web 服务、后台 Worker 或数据库的部署场景。
前置准备:安装 Railway CLI 并登录。
npm install -g @railway/cli railway login
基本流程:进入服务目录后执行 railway link 选择或新建工作区与项目;使用 railway add 选择 Database → Postgres 添加数据库。若需向量检索,标准 Postgres 不含 pgvector,应删除标准 Postgres,改用模板 https://railway.com/deploy/pgvector-latest。随后用 railway variables set KEY="value" 设置环境变量,并可通过 ${{ServiceName.VARIABLE}} 语法引用其他服务的变量,例如 DATABASE_URL=${{Postgres.DATABASE_URL}} 或 ${{pgvector.DATABASE_URL}}。执行 railway up --detach 部署,railway domain 获取访问域名。
多服务模式:先 link 主服务并部署 API;再通过 railway add --service worker 添加 Worker,用 railway service link worker 关联,设置相同变量引用方式(含 OPENAI_API_KEY),在控制台或 railway.toml 配置启动命令后部署。
常用命令:railway status、railway variables、railway logs、railway service status、railway redeploy --yes。
注意事项:pgvector 需使用模板而非标准 Postgres;部分命令需交互模式手动运行;变量引用使用 ${{ServiceName.VARIABLE}} 语法;自定义 Python 服务需提供 Dockerfile,Railway 也可用 Procfile 支持多进程应用。