从零开始
已有部署请走更新流程,不要重新初始化数据库或密钥。
1. 准备环境
需要 Linux、Docker Compose、专用数据目录和同一主域名下的两个 HTTPS 子域名,见前置条件。管理员创建前,Web/API 均仅允许自己访问。
2. 运行安装器
bash
git clone https://github.com/hicocos/tg-vault.git
cd tg-vault
./deploy/install.sh不要先复制 .env.example。按提示填写:
| 项目 | 示例 |
|---|---|
VITE_API_URL | https://api.example.com |
CORS_ORIGIN | https://cloud.example.com |
| 保存目录 | <项目目录>/data,或已挂载磁盘下的新专用目录 |
地址换成自己的完整 origin,不带路径、查询或尾斜杠。确认页按 Enter 部署,e 重填,q 取消。
安装器生成数据库密码和应用密钥,准备镜像、等待 PostgreSQL、执行独立迁移,再启动前后端。详情见完整部署。
3. 配置 HTTPS
| 入口 | 默认上游 |
|---|---|
| Web | http://127.0.0.1:47832 |
| API | http://127.0.0.1:51947 |
使用宿主机反代。deploy/nginx-site-init.conf 只用于 ACME 验证;签发证书后按 deploy/nginx-site.conf 配置实际域名与证书路径,不同时加载两份示例。
代理需支持上传、媒体 Range 和相应超时,见HTTPS 配置。Compose 不负责证书管理。
4. 创建管理员
- 打开自己的 HTTPS Web 地址。
- 确认 Web/API 仍仅自己可访问,创建至少 8 位强密码。
- 退出后重新登录,按需启用 TOTP,再开放入口。
没有默认管理员密码,第一个完成初始化的人会设置密码。生产环境保持安全 Cookie 开启。
5. 上传测试文件
在 设置 → 存储确认本地目录可写、空间充足,再从 上传中心上传一个小文件。任务完成后,从文件管理下载并核对内容。
需要 Telegram 或云端保存时,继续看第一次转存。
6. 检查服务
bash
docker compose ps --all
curl -fsS http://127.0.0.1:51947/livez
curl -fsS http://127.0.0.1:51947/readyz按验收清单检查公网登录和实际文件操作,然后建立备份。
