如何把 DocsGPT 部署到 Railway 平台并配置 .env 上线运行
【免费下载链接】DocsGPTPrivate AI platform for agents, assistants and enterprise search. Built-in Agent Builder, Deep research, Document analysis, Multi-model support, and API connectivity for agents.项目地址: https://gitcode.com/GitHub_Trending/do/DocsGPT
DocsGPT 官方文档给出了一条把自建 DocsGPT 实例托管到 Railway 的完整路径:先在本机克隆仓库、配置.env并用 Docker Compose 跑通一遍,把改好的项目推到自己的 GitHub 仓库,再通过 Railway 的 "Deploy from GitHub Repo" 部署,最后在 Variables 标签上传同一份.env、在 Networking 里生成域名,即可获得一个公网可访问的 DocsGPT 实例。以下所有步骤、命令与界面名称均来自 Railway 部署文档。
适用前提(以文档中的实际操作要求为准):
- 一台能运行 Docker 的 Linux 机器。文档中的安装命令使用
apt,即 Debian/Ubuntu 系发行版; - 已安装 git,并有一个 GitHub 账号;
- 一个 Railway 账号,文档建议通过 GitHub 注册或登录 Railway。
克隆仓库并准备本地环境
文档的第一步是把仓库克隆到本地,先在本机运行、测试和修改,再上线:
git clone https://github.com/arc53/DocsGPT.git cd DocsGPT/然后更新包索引并安装 Docker 与 Docker Compose。注意:这两条sudo apt install会通过系统包管理器在你的机器上安装docker.io和docker-compose软件包,需要 root 权限,安装内容以发行版仓库提供的版本为准:
sudo apt update sudo apt install docker.io sudo apt install docker-composeDocsGPT 的后端和 worker 使用 Python、前端使用 React,整个应用通过 Docker 容器化运行,所以本地 Docker 环境是验证和后续上线的基础。
创建并配置 .env
在 DocsGPT 目录下创建.env文件,内容取自仓库里的模板:
nano .env文档写的是复制.env_sample的内容,但当前仓库根目录实际提供的模板文件是 .env-template,两者不一致时以仓库文件为准。文档给出的最小配置如下,其中<Your LLM API key>是占位符,需替换为你自己的 LLM 服务 API 密钥:
API_KEY=<Your LLM API key> LLM_NAME=docsgpt VITE_API_STREAMING=true对照仓库当前的 .env-template,模板中还有INTERNAL_KEY(worker 与后端之间的认证密钥)以及若干默认注释掉的可选项(各云厂商 API key、嵌入模型、OIDC/SSO 等),可按需取消注释。变量的完整含义与取值范围见 DocsGPT Settings。
在nano中按CTRL+X,再按Y,最后按ENTER保存退出。
让前端指向你的公网地址
打开 deployment/docker-compose.yaml,找到 frontend 服务environment块中的这一行:
- VITE_API_HOST=http://localhost:7091改为:
- VITE_API_HOST=http://<your instance public IP>:7091<your instance public IP>替换为你实例的公网 IP。文档说明这一步的作用是"allow the frontend to connect to the backend",即让前端能找到后端。文档原文写的是"Change line 7",当前仓库中该变量位于第 15 行,两处不一致时以变量名为准。
本地运行验证
sudo docker compose -f deployment/docker-compose.yaml up -d文档提示:首次启动需要几分钟时间下载依赖并构建,完成后可以关闭终端。容器跑起来后,按 README 和 Docker 部署文档 的说明,在浏览器打开http://localhost:5173/,能正常打开 DocsGPT 界面即说明.env与 compose 配置可用——这可以作为推送到 GitHub 前的检查点。
推送到自己的 GitHub 仓库
Railway 从 GitHub 仓库拉取代码部署,所以先把本地改好的项目推到自己账号下:
- 在 GitHub 上创建一个新仓库;
- 在项目目录依次执行:
git init git add . git commit -m "first-commit" git remote add origin <your repository link> git push --set-upstream origin master<your repository link>替换为你刚创建的仓库地址。文档中最后一条命令原文多写了一个git push(git push git push --set-upstream origin master),这里按正常 git 语法修正为一条命令。
在 Railway 上创建项目并部署
- 登录 Railway,点击 "Start New Project";
- 从列表中选择一个部署方式,文档推荐Deploy from GitHub Repo;
- 选中你的 DocsGPT 仓库,在弹出的窗口中授权 Railway 访问你的 GitHub 内容,并同意相关条款。文档提示账号设置完成可能需要几分钟,且新账号有 $5 免费额度可先用于试用;
- 在仓库列表中再次选择 DocsGPT 仓库,点击Deploy now。
部署界面会出现三个标签页,配置集中在其中两个。
在 Variables 标签上传 .env
切到Variables标签,把本地验证时用的同一份.env文件上传到这里。这一步就是把.env配置带上 Railway:线上环境变量与本地保持一致,线上才会按你本地验证过的 LLM 配置运行。
在 Settings 标签生成域名
切到Settings标签,进入Networking,点击Generate Domain Name,即可得到托管项目的访问 URL。
Settings 页中还可以修改 Root directory、build command、installation command;文档明确建议:没有特殊需要就不要改动这些选项,保持默认即可。
验证上线结果与已知差异
文档给出的成功条件:部署完成后,"Your own DocsGPT is now available at the Generated domain URL"——在浏览器打开生成的域名 URL,能访问到 DocsGPT 应用即表示上线完成。
按文档走这条路径时,还有几个需要留意的点:
- 模板文件名不一致:文档引用
.env_sample,当前仓库提供的是 .env-template;变量内容以仓库文件为准,两者内容应同步核对后再上传到 Variables。 - 行号不一致:文档说修改 compose 文件"第 7 行",当前仓库中
VITE_API_HOST位于 deployment/docker-compose.yaml 第 15 行;定位时以变量名为准。 - VITE_API_HOST 必须改:如果忘了把
VITE_API_HOST从localhost改成公网地址,上线后前端将无法连接到后端,这是文档专门强调的一步。 - 保持默认构建选项:文档不建议改动 Railway 的 Root directory、build command、installation command,避免引入文档未覆盖的行为差异。
- 本文只覆盖"最小可用"的上线配置;
.env中 LLM 提供商、认证方式(AUTH_TYPE)、向量库等高级项的说明见 DocsGPT Settings,不属于本次部署的必做步骤。
【免费下载链接】DocsGPTPrivate AI platform for agents, assistants and enterprise search. Built-in Agent Builder, Deep research, Document analysis, Multi-model support, and API connectivity for agents.项目地址: https://gitcode.com/GitHub_Trending/do/DocsGPT
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考