docker: use .env for webhook config

This commit is contained in:
meoacgx committed 2026-01-02 18:56:24 +08:00
1 parent c17dfa8f01
commit b941f49a40
4 files changed
+58 -13

No files matched your search

+23
View File
@@ -0,0 +1,23 @@
# Telegram Panel - Docker Compose 本地配置示例
#
# 使用方式:
# 1) 复制本文件为 .env(.env 已在 .gitignore 中)
# 2) 按需填写你的值
#
# Compose 会自动读取当前目录下的 .env 用于变量替换:
# docker compose up -d --build
#
# 也可以显式指定:
# docker compose --env-file .env up -d --build
# Webhook 模式(生产环境可选)
# - true: 使用 Webhook(需要公网 HTTPS + 反向代理转发 /api/bot/webhook/*)
# - false: 默认 Long Polling
TP_TELEGRAM_WEBHOOK_ENABLED=false
# 你的公网 HTTPS 域名(必须是 https://...),例如:
# TP_TELEGRAM_WEBHOOK_BASE_URL=https://panel.example.com
TP_TELEGRAM_WEBHOOK_BASE_URL=
# Webhook 验证密钥(建议随机字符串,Telegram 会在请求头里携带用于校验)
TP_TELEGRAM_WEBHOOK_SECRET_TOKEN=
+4
View File
@@ -61,6 +61,10 @@ x86/
# Local scratch
todolist
# Docker Compose local overrides / env (do not commit)
.env
docker-compose.override.yml
# Docker persistent data
docker-data/
+28 -10
View File
@@ -100,17 +100,35 @@ https://faka.boxmoe.eu.org/
- ✅ 更快的响应速度(Telegram 主动推送)
- ✅ 更适合高流量/多 Bot 场景
不建议直接改 `docker-compose.yml`(否则后续 `git pull` 更新时容易冲突/被覆盖)。推荐用以下两种方式之一做“本地覆盖”:
#### 方式 A:使用 `.env`(推荐)
项目已支持通过 `.env` 注入 Webhook 配置;`.env` 不应提交到仓库(已加入 `.gitignore`)。
```bash
cp .env.example .env
```
然后编辑 `.env`,按需填写:
```env
TP_TELEGRAM_WEBHOOK_ENABLED=true
TP_TELEGRAM_WEBHOOK_BASE_URL=https://your-domain.com
TP_TELEGRAM_WEBHOOK_SECRET_TOKEN=your-random-secret-token
```
#### 方式 B:使用 `docker-compose.override.yml`
在项目根目录创建 `docker-compose.override.yml`(不提交到仓库,已加入 `.gitignore`):
```yaml
# docker-compose.yml 中添加/修改以下配置
environment:
# 启用 Webhook 模式(生产环境推荐)
Telegram__WebhookEnabled: "true"
# Webhook 公网基础 URL(必须是 HTTPS)
Telegram__WebhookBaseUrl: "https://your-domain.com"
# Webhook 验证密钥(建议使用随机字符串,用于验证 Telegram 请求来源)
Telegram__WebhookSecretToken: "your-random-secret-token"
# 启用自动同步(Bot 加入新频道后自动添加到列表)
Telegram__BotAutoSyncEnabled: "true"
services:
telegram-panel:
environment:
Telegram__WebhookEnabled: "true"
Telegram__WebhookBaseUrl: "https://your-domain.com"
Telegram__WebhookSecretToken: "your-random-secret-token"
```
**配置说明:**
+3 -3
View File
@@ -30,8 +30,8 @@ services:
# ========== Webhook 模式配置 ==========
# 启用 Webhook 模式(启用后将使用 Webhook 替代轮询接收更新)
Telegram__WebhookEnabled: "false"
Telegram__WebhookEnabled: "${TP_TELEGRAM_WEBHOOK_ENABLED:-false}"
# Webhook 公网基础 URL(必须是 HTTPS,例如: https://your-domain.com)
Telegram__WebhookBaseUrl: ""
Telegram__WebhookBaseUrl: "${TP_TELEGRAM_WEBHOOK_BASE_URL:-}"
# Webhook 验证密钥(用于验证 Telegram 请求,建议使用随机字符串)
Telegram__WebhookSecretToken: ""
Telegram__WebhookSecretToken: "${TP_TELEGRAM_WEBHOOK_SECRET_TOKEN:-}"