用 Telegram 当网盘:Teldrive + Docker + Supabase 搭建教程
用 Docker 加 Supabase 云数据库部署 Teldrive,把 Telegram 变成网盘:建库、开启 pgroonga 扩展、写 config.toml 与 compose 文件、登录并配置存储频道。
使用 Docker 运行 Teldrive + Supabase 云数据库(无需自建 PostgreSQL)
适用于 Debian / Ubuntu 服务器 | 轻量、免维护数据库
1️⃣ 准备工作
开始之前,请确认已经准备好以下项目:
| 项目 | 说明 |
|---|---|
| Linux 服务器 | 本教程基于 Debian/Ubuntu,其他发行版请自行调整 Docker 安装命令 |
| Docker 和 Docker Compose | 需要安装 Docker 引擎及 Compose 插件(或独立 docker-compose) |
| Telegram 账号 | 用于登录和存储文件 |
| 私有 Telegram 频道 | 需要你的账号是频道的管理员,且频道必须为私有 |
| Telegram API ID / Hash | 前往 my.telegram.org/apps 申请并保存好 |
| Supabase 账号 | 免费注册 supabase.com,用于创建云数据库 |
| 服务器开放端口 | Teldrive 默认使用 8080 端口,需放行防火墙(例如 ufw allow 8080) |
⚠️ 重要提醒:请合理使用 Telegram API,避免大量上传违规或垃圾文件,否则可能导致账号被封禁。加密密钥一旦丢失,已上传文件将永久无法解密,请务必备份。
2️⃣ 安装 Docker 和 Docker Compose
如果你的服务器尚未安装 Docker,请执行以下命令一键安装:
# 安装 Docker(官方脚本)
curl -fsSL https://get.docker.com | sh
# 将当前用户加入 docker 组(可选,避免每次 sudo)
sudo usermod -aG docker $USER
# 重新登录或执行 newgrp docker 生效
# 安装 Docker Compose 插件(新版 Docker 自带插件,若没有则安装)
sudo apt update && sudo apt install -y docker-compose-plugin
# 验证安装
docker --version
docker compose version
💡 如果系统提示 docker: command not found,请重启服务器或重新登录终端。
3️⃣ 配置 Supabase 云数据库
3.1 创建 Supabase 项目
- 登录 Supabase,点击 “New project”。
- 填写项目名称、数据库密码(记住此密码),选择免费区域(建议选择离你较近的区域)。
- 等待 2-3 分钟完成数据库初始化。
3.2 启用 pgroonga 扩展
Teldrive 需要全文搜索扩展 pgroonga。在 Supabase 的 SQL Editor 中执行:
CREATE EXTENSION IF NOT EXISTS pgroonga;
进入项目后,点击左侧 SQL Editor → New query,粘贴上述 SQL 并运行。
3.3 获取数据库连接字符串
- 在 Supabase 项目仪表盘,点击左侧 Settings → Database。
- 找到 Connection string 部分,选择 Transaction Pooler 模式(端口
5432)。 - 复制连接字符串,格式类似:
postgresql://postgres:[YOUR-PASSWORD]@db.[ref].supabase.co:5432/postgres - 注意:请将密码中的特殊字符进行 URL 编码(例如
@替换为%40,#替换为%23)。
📌 保存好这个连接字符串,稍后将填入 Teldrive 配置文件。
4️⃣ 准备 Teldrive 配置文件
创建存放配置的目录并生成随机密钥。
# 创建工作目录
mkdir -p ~/teldrive && cd ~/teldrive
# 生成 JWT 密钥和加密密钥
openssl rand -base64 32 # 用于 JWT_SECRET
openssl rand -base64 32 # 用于 ENCRYPTION_KEY
将输出的两串字符保存好。
4.1 创建 config.toml
nano config.toml
详细配置可看
粘贴以下内容,并根据你的信息替换相应字段:
# 数据库配置(使用 Supabase 连接字符串)
[db]
data-source = "postgres://postgres:你的密码@db.你的项目ref.supabase.co:5432/postgres"
# JWT 认证配置
[jwt]
# 你的 Telegram 用户名(不带 @),例如 ["myusername"]
allowed-users = ["你的Telegram用户名"]
# 填入上面生成的 JWT 密钥
secret = "JWT_SECRET"
# Telegram API 配置
[tg]
# 从 my.telegram.org 获取的 api_id(纯数字)
app-id = 1234567
# 从 my.telegram.org 获取的 api_hash(字符串,加双引号)
app-hash = "your_api_hash"
[tg.uploads]
# 填入上面生成的文件加密密钥
encryption-key = "ENCRYPTION_KEY"
💡 注意:allowed-users 中是 Telegram 用户名(不是昵称),如果未设置请先去 Telegram 设置中添加。
app-id 是纯数字,不要加引号;app-hash 和 encryption-key 需要用双引号包裹。
5️⃣ 编写 Docker Compose 文件
在同一目录下创建 docker-compose.yml:
nano docker-compose.yml
粘贴以下内容:
services:
teldrive:
image: ghcr.io/tgdrive/teldrive:latest
container_name: teldrive
restart: always
volumes:
- ./config.toml:/config.toml
# 可选:挂载本地存储文件(新版本可能不需要,使用Supabase无需挂载,但保留无害)
- ./storage.db:/storage.db
ports:
- "8080:8080"
# 如果 Supabase 需要特殊网络设置,通常无需额外配置,默认即可访问外网
📌 如果你希望使用其他端口,可以修改左侧的 8080,例如 "8081:8080"。
6️⃣ 启动 Teldrive 容器
# 创建空的 storage.db(如果使用 supabase 则不需要)
touch storage.db
# 启动服务
docker compose up -d
# 查看运行状态
docker compose ps
# 查看日志
docker compose logs -f
如果没有错误,Teldrive 将在后台运行,监听 8080 端口。
7️⃣ 首次登录与配置
7.1 访问 Web 界面
浏览器打开:http://你的服务器IP:8080
7.2 登录 Telegram
- 推荐方式:使用 Telegram 手机/桌面 App 扫描页面二维码,一键授权。
- 备选方式:点击 “Login using phone number”,输入
api_id和api_hash(如果配置文件中已填写,此步可跳过),然后输入手机号和验证码。
如果收不到验证码,请检查 Telegram App 中 “Telegram” 官方聊天窗口,验证码通常通过 App 内消息发送。
7.3 配置存储频道
- 登录后点击右上角 齿轮图标(设置)。
- 找到 Channel 或 Storage 部分。
- 点击 Refresh Channels 拉取你管理的频道列表。
- 选择你创建的私有频道(需要是管理员)。
- 点击 Save 保存。
7.4 开始上传文件
返回首页,点击上传按钮或拖拽文件到页面,文件将通过你的 Telegram 账号存入频道。
8️⃣ 常见问题排查
| 问题现象 | 可能原因 | 解决方法 |
|---|---|---|
docker compose: command not found |
未安装 Docker Compose 插件 | 运行 sudo apt install docker-compose-plugin 或使用独立命令 docker-compose up -d |
| 容器启动后立即退出 | 配置文件错误或数据库连接失败 | 执行 docker compose logs 查看详细错误;检查 config.toml 中的数据库连接字符串是否正确 |
启动日志显示 connection refused或超时 |
Supabase 连接字符串错误或服务器无法访问外网 | 确认连接字符串中的密码已 URL 编码;检查服务器是否能 ping 通 db.xxx.supabase.co |
日志提示 extension "pgroonga" is not installed |
Supabase 数据库中未启用 pgroonga 扩展 | 在 Supabase SQL Editor 中执行 CREATE EXTENSION IF NOT EXISTS pgroonga; |
浏览器访问 8080 无响应 |
防火墙未放行端口 | 执行 ufw allow 8080 或 iptables -I INPUT -p tcp --dport 8080 -j ACCEPT |
Web 登录提示 API_ID or API_HASH invalid |
配置文件中的 app-id 或 app-hash 错误 |
检查 app-id 是否为纯数字无引号,app-hash 是否为带双引号的字符串;重新从 my.telegram.org 复制 |
| 登录成功但频道列表为空 | Telegram 账号不是任何私有频道的管理员 | 确保已创建私有频道并设为管理员;点击 “Refresh Channels” 强制刷新 |
上传文件失败,日志显示 FLOOD_WAIT |
触发 Telegram 频率限制 | 减少上传频率,等待一段时间后再试;避免短时间内大量上传 |
| 文件上传后无法下载或显示损坏 | 加密密钥 encryption-key 与上传时不匹配 |
请勿更改 encryption-key,恢复原密钥;务必备份配置文件 |
| 忘记 JWT 密钥或加密密钥 | 配置文件丢失 | 密钥无法恢复,已上传文件将永久损坏,请务必提前备份 config.toml |
9️⃣ 更新 Teldrive
cd ~/teldrive
docker compose down
docker compose pull
docker compose up -d
🔟 备份与恢复
10.1 备份配置文件
cp ~/teldrive/config.toml ~/teldrive/config.toml.bak
10.2 备份 Supabase 数据库
Supabase 提供自动备份,你也可以手动导出:
pg_dump -h db.你的项目ref.supabase.co -U postgres -d postgres > teldrive_backup.sql
恢复时:
psql -h db.你的项目ref.supabase.co -U postgres -d postgres < teldrive_backup.sql
10.3 备份加密密钥
🔐 请务必将 config.toml 中的 encryption-key 和 secret 抄写或保存到密码管理器,一旦丢失将无法恢复已上传的文件!
二进制文件 + 本地 PostgreSQL 版
1️⃣ 准备工作
开始之前,请确认已经准备好以下项目:
| 项目 | 说明 |
|---|---|
| Linux 服务器 | 本教程基于 Debian/Ubuntu,其他发行版请自行调整命令 |
| Telegram 账号 | 用于登录和存储文件 |
| 私有 Telegram 频道 | 需要你的账号是频道的管理员,且频道必须为私有 |
| Telegram API ID / Hash | 前往 my.telegram.org/apps 申请并保存好 |
| 服务器端口开放 | Teldrive 默认使用 8080 端口,需放行防火墙(例如 ufw allow 8080) |
⚠️ 重要提醒:请合理使用 Telegram API,避免大量上传违规或垃圾文件,否则可能导致账号被封禁。加密密钥一旦丢失,已上传文件将永久无法解密,请务必备份。
2️⃣ 安装 PostgreSQL 并启用 pgroonga 扩展
2.1 安装 PostgreSQL
# 更新软件包列表
sudo apt update
# 安装 PostgreSQL 和 contrib 扩展包
sudo apt install -y postgresql postgresql-contrib
# 确认安装成功
systemctl status postgresql
2.2 安装 pgroonga 全文搜索扩展
# 添加 Groonga 官方 APT 仓库
sudo apt install -y wget lsb-release
wget https://packages.groonga.org/ubuntu/groonga-apt-source-latest-$(lsb_release -sc).deb
sudo dpkg -i groonga-apt-source-latest-$(lsb_release -sc).deb
sudo apt update
# 安装 pgroonga(注意版本号需与 PostgreSQL 主版本匹配,如 14/15/16)
# 查看 PostgreSQL 版本: psql --version
sudo apt install -y postgresql-16-pgroonga # 请将 16 替换为你的实际版本
2.3 创建数据库和用户
# 切换到 postgres 系统用户
sudo -u postgres psql
在 psql 命令行中依次执行以下 SQL:
-- 创建数据库用户(请将 'your_strong_password' 替换为强密码)
CREATE USER teldrive WITH PASSWORD 'your_strong_password';
-- 创建数据库
CREATE DATABASE teldrive OWNER teldrive;
-- 连接到新数据库
\c teldrive
-- 启用 pgroonga 扩展
CREATE EXTENSION IF NOT EXISTS pgroonga;
-- 退出 psql
\q
2.4 测试数据库连接
psql -U teldrive -h localhost -d teldrive -W
输入密码后能进入 psql 提示符即表示成功。
3️⃣ 下载并配置 Teldrive 二进制文件
3.1 下载 Teldrive
访问 Teldrive Releases 页面,找到最新版本,下载 Linux x86_64 压缩包。
# 创建专用目录
mkdir -p ~/teldrive && cd ~/teldrive
# 下载最新版本(请将版本号替换为实际最新版,例如 v1.2.3)
wget https://github.com/tgdrive/teldrive/releases/download/v1.2.3/teldrive_1.2.3_Linux_x86_64.tar.gz
# 解压
tar -xzf teldrive_*.tar.gz
# 赋予执行权限
chmod +x teldrive
3.2 生成随机密钥
Teldrive 需要 JWT 密钥 和 文件加密密钥,使用 openssl 生成:
# 生成 JWT 密钥
openssl rand -base64 32
# 生成加密密钥
openssl rand -base64 32
将输出的两串字符分别保存为 JWT_SECRET 和 ENCRYPTION_KEY。
3.3 创建配置文件 config.toml
nano ~/teldrive/config.toml
粘贴以下内容并根据实际情况修改:
# 数据库配置
[db]
# 格式:postgres://用户名:密码@主机:端口/数据库名?sslmode=disable
data-source = "postgres://teldrive:your_strong_password@localhost:5432/teldrive?sslmode=disable"
# JWT 认证配置
[jwt]
# 允许使用的 Telegram 用户名列表(不带 @ 符号),例如 ["alice", "bob"]
allowed-users = ["your_telegram_username"]
# 填入刚刚生成的 JWT 密钥
secret = "JWT_SECRET"
# Telegram API 配置
[tg]
# 从 my.telegram.org 获取的 api_id(纯数字,不要加引号)
app-id = 1234567
# 从 my.telegram.org 获取的 api_hash(字符串,用双引号包裹)
app-hash = "your_api_hash"
[tg.uploads]
# 填入刚刚生成的文件加密密钥
encryption-key = "ENCRYPTION_KEY"
💡 注意:allowed-users 中的用户名是你登录 Telegram 时的用户名(不是昵称),如果未设置请先去 Telegram 设置中添加。
app-id 是纯数字,app-hash 是带引号的字符串。
3.4 测试运行
cd ~/teldrive
./teldrive --config config.toml
如果没有错误输出,会显示类似 Listening on :8080 的信息。按 Ctrl+C 停止,然后进入后台运行。
4️⃣ 后台运行 Teldrive(systemd 服务,推荐)
创建 systemd 服务文件:
sudo nano /etc/systemd/system/teldrive.service
粘贴以下内容(注意根据实际路径修改):
[Unit]
Description=Teldrive Service
After=network.target postgresql.service
[Service]
Type=simple
User=root
WorkingDirectory=/root/teldrive
ExecStart=/root/teldrive/teldrive --config /root/teldrive/config.toml
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
启用并启动服务:
sudo systemctl daemon-reload
sudo systemctl enable teldrive
sudo systemctl start teldrive
# 查看状态
sudo systemctl status teldrive
# 查看日志
sudo journalctl -u teldrive -f
💡 备用方案:如果不想用 systemd,也可以使用 nohup 简单后台运行:
nohup ./teldrive --config config.toml > teldrive.log 2>&1 &
5️⃣ 首次登录与配置
5.1 访问 Web 界面
浏览器打开:http://你的服务器IP:8080
5.2 登录 Telegram
- 方式一(推荐):使用 Telegram 手机/桌面 App 扫描页面二维码,一键授权。
- 方式二:点击 “Login using phone number”,输入
api_id和api_hash(若配置文件已填则跳过),然后输入手机号和验证码。
如果收不到验证码,请检查 Telegram App 中 “Telegram” 官方聊天窗口,验证码通常通过 App 内消息发送。
5.3 配置存储频道
- 登录后点击右上角 齿轮图标(设置)。
- 找到 Channel 或 Storage 部分。
- 点击 Refresh Channels 拉取你管理的频道列表。
- 选择你创建的私有频道(需要是管理员)。
- 点击 Save 保存。
5.4 开始上传文件
返回首页,点击上传按钮或拖拽文件到页面,文件将通过你的 Telegram 账号存入频道。
6️⃣ 常见问题排查
| 问题现象 | 可能原因 | 解决方法 |
|---|---|---|
启动时报 dial tcp 127.0.0.1:5432: connect: connection refused |
PostgreSQL 未启动或配置错误 | systemctl start postgresql;检查 config.toml 中的数据库连接字符串 |
启动时报 extension "pgroonga" is not installed |
数据库未启用 pgroonga 扩展 | 以 teldrive 用户连接数据库,执行 CREATE EXTENSION IF NOT EXISTS pgroonga; |
浏览器访问 8080 无响应 |
防火墙未放行端口 | ufw allow 8080 或 iptables -I INPUT -p tcp --dport 8080 -j ACCEPT |
Web 登录提示 API_ID or API_HASH invalid |
配置文件中 app-id 或 app-hash 错误 |
检查 app-id 为纯数字无引号,app-hash 为带双引号的字符串;重新从 my.telegram.org 复制 |
| 登录成功但频道列表为空 | Telegram 账号不是任何私有频道的管理员 | 确保已创建私有频道并设为管理员;点击 “Refresh Channels” 强制刷新 |
上传文件失败,日志显示 FLOOD_WAIT |
触发 Telegram 频率限制 | 减少上传频率,等待一段时间后再试;避免短时间内大量上传 |
| 文件上传后无法下载或损坏 | 加密密钥 encryption-key与上传时不匹配 |
请勿更改 encryption-key,恢复原密钥;务必备份配置文件 |
| 忘记 JWT 密钥或加密密钥 | 配置文件丢失 | 密钥无法恢复,已上传文件永久损坏,请务必提前备份 config.toml |
7️⃣ 更新 Teldrive
cd ~/teldrive
sudo systemctl stop teldrive
# 下载新版本(替换版本号)
wget https://github.com/tgdrive/teldrive/releases/download/新版本号/teldrive_新版本号_Linux_x86_64.tar.gz
tar -xzf teldrive_新版本号_Linux_x86_64.tar.gz
chmod +x teldrive
sudo systemctl start teldrive
8️⃣ 备份与恢复
8.1 备份配置文件
cp ~/teldrive/config.toml ~/teldrive/config.toml.bak
8.2 备份数据库
pg_dump -U teldrive -h localhost teldrive > teldrive_backup.sql
恢复数据库:
psql -U teldrive -h localhost -d teldrive < teldrive_backup.sql
8.3 备份加密密钥
🔐 请务必将 config.toml 中的 encryption-key 和 secret 抄写或保存到密码管理器,一旦丢失将无法恢复已上传的文件!
config.toml 详细字段说明
# [cache] - 缓存配置
# max-size: 缓存最大字节数(单位字节),用于限制缓存占用(默认 10485760 = 10MB)
[cache]
max-size = 10485760
# [db] - PostgreSQL 数据库连接与连接池
[db]
# data-source: Postgres 连接字符串,格式示例:postgres://user:pass@host:5432/dbname
data-source = ""
# prepare-stmt: 是否启用预准备语句,开启可提升查询性能(默认 true)
prepare-stmt = true
[db.pool]
# enable: 是否启用连接池,生产环境建议启用
enable = true
# max-idle-connections: 连接池允许的最大空闲连接数
max-idle-connections = 25
# max-lifetime: 单个连接最大生命周期(示例:"10m")
max-lifetime = "10m"
# max-open-connections: 允许并发打开的最大连接数
max-open-connections = 25
# [events] - 事件写入与同步相关配置
[events]
# db-buffer-size: 写入数据库的缓冲大小,增大可提高吞吐
db-buffer-size = 1000
# db-workers: 后台写入数据库的工作线程数
db-workers = 10
# deduplication-ttl: 事件去重保留时间,避免重复处理(例如 "5s")
deduplication-ttl = "5s"
# poll-interval: 轮询间隔,用于轮询 Telegram 或其他服务(例如 "10s")
poll-interval = "10s"
# [jobs] - 后台任务(重试/超时)
[jobs]
[jobs.sync-run]
# max-attempts: 同步任务最大重试次数
max-attempts = 8
[jobs.sync-transfer]
# max-attempts: 传输任务最大重试次数
max-attempts = 2
# timeout: 传输任务超时时间,例如 "3h" 表示 3 小时
timeout = "3h"
# [jwt] - JWT 认证与会话控制
[jwt]
# allowed-users: 允许访问的 Telegram 用户名数组(不带 @),留空表示不限制任何用户
allowed-users = []
# secret: JWT 签名密钥,必须设置,建议使用 openssl rand -hex 32 生成
secret = ""
# session-time: JWT 有效期(示例 "30d")
session-time = "30d"
# [log] - 日志配置
[log]
# file: 日志文件路径,留空则输出到 stdout
file = ""
# level: 日志等级,可选 debug/info/warn/error
level = "info"
# time-format: 日志时间格式
time-format = "2006-01-02 15:04:05"
[log.db]
# level: 数据库日志等级
level = "error"
# log-sql: 是否记录 SQL 语句(调试时开启)
log-sql = false
# slow-threshold: 慢查询阈值,超过则记录为慢查询(例如 "1s")
slow-threshold = "1s"
[log.http]
# enabled: 是否记录 HTTP 请求日志
enabled = true
# log-queries: 是否记录查询参数
log-queries = false
# log-request-body-size: 是否记录请求体大小
log-request-body-size = true
# log-response-size: 是否记录响应大小
log-response-size = true
# log-user-agent: 是否记录 User-Agent
log-user-agent = true
# max-query-length: 最大记录的查询长度
max-query-length = 100
# sanitize-queries: 是否对查询参数做脱敏处理
sanitize-queries = true
# skip-paths: 跳过日志记录的路径(健康检查等)
skip-paths = ["/health", "/metrics"]
[log.tg]
# enabled: 是否记录与 Telegram 交互的详细日志
enabled = false
# level: Telegram 日志等级
level = "warn"
# [queue] - 队列 / 工作线程配置
[queue]
# default-workers: 默认队列工作线程数量
default-workers = 50
# upload-workers: 上传相关并发工作线程数
upload-workers = 4
# [redis] - 可选 Redis 配置(用于缓存或队列)
[redis]
# addr: Redis 地址,格式 host:port
addr = ""
# conn-max-idle-time: 连接最大空闲时间(例如 "5m")
conn-max-idle-time = "5m"
# conn-max-lifetime: 连接最大生命周期(例如 "1h")
conn-max-lifetime = "1h"
# max-idle-conns / min-idle-conns: 最大 / 最小空闲连接数
max-idle-conns = 10
min-idle-conns = 5
# password: Redis 密码(如有)
password = ""
# pool-size: 连接池大小
pool-size = 10
# [server] - HTTP 服务相关配置
[server]
# enable-pprof: 是否启用 pprof 性能分析
enable-pprof = false
# graceful-shutdown: 优雅关机等待时间,例如 "10s"
graceful-shutdown = "10s"
# port: HTTP 服务端口
port = 8080
# read-timeout / write-timeout: HTTP 读写超时时间
read-timeout = "1h"
write-timeout = "1h"
# [tg] - Telegram 客户端相关配置说明
[tg]
# app-hash: Telegram 应用 hash,项目模板给出示例值(可使用默认或自行申请)
app-hash = "8da85b0d5bfe62527e5b244c209159c3"
# app-id: Telegram app id(整数)
app-id = 2496
# app-version: 模拟的客户端版本字符串,便于兼容性判断
app-version = "6.1.4 K"
# auto-channel-create: 是否自动创建频道用于存储文件(true/false)
auto-channel-create = true
# channel-limit: 单账号可使用频道上限(用于防误配置)
channel-limit = 500000
# device-model: 发送给 Telegram 的设备/UA 字符串
device-model = "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/116.0"
# dial-timeout: 网络拨号超时
dial-timeout = "10s"
# enable-logging: 是否记录与 Telegram 的交互日志(调试时开启)
enable-logging = false
# lang-code / lang-pack: 语言设置
lang-code = "en"
lang-pack = "webk"
# ntp: 是否启用 NTP 时间同步(推荐启用以避免认证问题)
ntp = false
# ntp-server: 用于时间同步的 NTP 服务器
ntp-server = "pool.ntp.org"
# pool-size: Telegram 连接池大小,控制并发连接数
pool-size = 8
# proxy: 代理地址(如 socks5://127.0.0.1:1080),为空表示不使用
proxy = ""
# rate / rate-burst / rate-limit: 请求速率限制配置,防止触发 Telegram 的限流
rate = 100
rate-burst = 5
rate-limit = true
# reconnect-timeout: 断线重连等待时间
reconnect-timeout = "5m"
# session-instance: session 命名空间,用于区分不同实例
session-instance = "teldrive"
# system-lang-code / system-version: 模拟系统信息,通常使用默认即可
system-lang-code = "en-US"
system-version = "Win32"
[tg.mtproxy]
# addr: MTProxy 地址(如果使用 MTProto 代理)
addr = ""
# secret: MTProxy secret
secret = ""
[tg.session]
# key: session 键名(用于标识 session 存储)
key = "session"
# type: session 存储后端(可选: postgres, bolt 等)
type = "postgres"
[tg.session.bolt]
# 以下为 BoltDB(本地)相关选项,仅在 type = "bolt" 时生效
no-grow-sync = false
# path: BoltDB 文件路径
path = ""
# timeout: Bolt 打开超时时间
timeout = "1s"
[tg.stream]
# bots-limit: 并发 bot 实例上限(0 表示不限制)
bots-limit = 0
# buffers: 内部缓冲区数量
buffers = 8
# chunk-timeout: 分片处理超时时间
chunk-timeout = "30s"
# concurrency: 流式并发度
concurrency = 1
[tg.uploads]
# chunk-naming: 分片命名策略(如 random)
chunk-naming = "random"
# encryption-key: 文件加密密钥,建议填写以保护存储内容
encryption-key = ""
# max-retries: 上传重试次数
max-retries = 10
# retention: 上传后保留策略(示例 "7d")
retention = "7d"
# threads: 上传并发线程数
threads = 8
🎉 恭喜!你已经完成了 Teldrive 的完整搭建。现在可以把它作为私有云盘使用,文件存储在 Telegram 频道中。请遵守 Telegram 服务条款,合理使用。
更多帮助请参考 Teldrive 官方文档。
评论