# Teldrive
## 产品介绍
Teldrive 是一个自托管 Telegram 文件管理工具,可以通过网页界面整理 Telegram 文件,并支持与 Rclone 等工作流配合使用。
## 主要功能
- 管理 Telegram 频道中的文件
- 提供网页界面进行浏览和操作
- 支持加密上传数据和限制允许登录的 Telegram 用户
## 访问说明
安装后通过 `http://<服务器 IP>:18080` 访问,实际端口以安装表单中的 `PANEL_APP_PORT_HTTP` 为准。
## Introduction
Teldrive is a self-hosted tool for organizing Telegram files through a web interface.
## Features
- Manage files stored in Telegram channels
- Provide a browser-based management interface
- Support upload encryption and allowed Telegram user restrictions
## 部署说明
- 本应用使用官方容器镜像 `ghcr.io/tgdrive/teldrive` 部署。
- PostgreSQL 使用 Teldrive 官方 compose 中的 `ghcr.io/tgdrive/postgres:17-alpine` 镜像。
- 应用分类:存储。
- 支持架构:amd64、arm64。
- 可选版本:`latest`。
## 端口
| 变量 | 说明 | 默认值 | 必填 |
| --- | --- | --- | --- |
| PANEL_APP_PORT_HTTP | HTTP 访问端口 | 18080 | 是 |
## 数据持久化
| 变量 | 说明 | 默认值 | 必填 |
| --- | --- | --- | --- |
| APP_DATA_DIR | Teldrive 数据目录,包含 PostgreSQL 数据和本地 `storage.db` 文件 | ./data | 是 |
升级或迁移前,请先在 1Panel 中备份上述数据目录。
## 参数说明
| 变量 | 说明 | 默认值 | 必填 |
| --- | --- | --- | --- |
| TZ | 容器时区 | Asia/Shanghai | 是 |
| POSTGRES_PASSWORD | PostgreSQL 数据库密码 | 随机生成 | 是 |
| JWT_SECRET | JWT 登录密钥 | 随机生成 | 是 |
| UPLOADS_ENCRYPTION_KEY | 上传数据加密密钥 | 随机生成 | 是 |
| ALLOWED_USERS | 允许登录的 Telegram 用户名,多个用户按上游支持格式填写 | 空 | 否 |
| TG_NTP | 启用 Telegram NTP 时间同步 | false | 是 |
## 使用说明
- 首次访问后需要使用 Telegram 账号登录,并在界面设置中同步频道和默认频道。
- 如登录停留在登录页,请检查服务器时间同步;也可以在安装参数中启用 `TG_NTP`。
- `ALLOWED_USERS` 用于限制可登录的 Telegram 用户名,不需要填写 `@`。
- 已对“复用 1Panel 商店 PostgreSQL runtime”做过真实联动复核,但 Teldrive 当前数据库迁移依赖 `pgroonga` 扩展;标准 `postgresql` 运行时不提供该扩展,启动时会在 `20240711163538_search.sql` 迁移阶段失败。
- 也额外验证了“补 local app 数据库 runtime 再联动”的路径:一次独立 `localmysql` smoke 中,本地数据库 app 虽然能成功安装并运行,但 `/apps/services/mysql` 返回空,`databases` 资源表也没有生成可复用记录。结合当前 1Panel local app 同步会把数据库 app key 变成 `local...`、而数据库资源登记仍走未加前缀常量的实现路径,这里可以合理推断 local PostgreSQL runtime 目前也不能直接作为 Teldrive 的可选数据库服务。因此当前继续保留上游自带的 `ghcr.io/tgdrive/postgres:17-alpine` 拓扑,而不是切换到商店或 local app PostgreSQL。
## 参考资料
- 官网:
- 项目仓库:
- Docker 使用说明:
- 官方 compose: