切换主题
安装部署 Q2TG v4
字数
1149 字
阅读时间
5 分钟
需要准备一台安装了 Docker 和 docker-compose,能同时连接 QQ 和 Telegram 服务器,并能保持开启的机器
Q2TG v4 需要 PostgreSQL,如果没有的话,会在 docker-compose 时创建一个。请确保服务器资源充足
获取 Telegram API ID
- 打开 My Telegram Core 并登录
- 设置你应用的信息
- 提交后,可以获取
api_id
和api_hash
创建 Telegram 机器人
如果你已经有了 Telegram Bot Token 并且已经确保关闭 Group Privacy,可以跳过此步骤
- 在 Telegram 中找到 BotFather
- 输入
/newbot
命令,根据提示创建一个新的机器人账号 - 输入
/setprivacy
命令,关闭你刚才创建的机器人账号的 Group Privacy
配置反向代理服务器
由于 Q2TG v4 会使用一些需要将服务器上的 Web 端口暴露到公网的功能,比如说 RichHeader 和合并转发聊天记录查看器,所以我们需要用任何方式把 Q2TG 容器的 8080 端口以 HTTPS 的方式公开出来
一个简单的方法是用 Cloudflare Tunnel 暴露 Web 端口。你也可以使用 Nginx 做反向代理,如果你的服务器有公网 IP 之类的话。总之你需要能以 https://一个域名
的方式访问 Q2TG 容器提供的内容
注册 Telegram WebAPP
为了在比如说查看合并转发的时候获得更好的体验,需要把一些页面注册成 Telegram WebAPP。现在有以下页面需要注册
- 合并转发查看器
https://你的域名/ui/chatRecord
方法是在 BotFather 中使用 /newapp
命令。详细的方法请看这里
最后,BotFather 会给你一个类似 t.me/机器人用户名/你指定的名字
的链接
准备 Docker Compose
首先在服务器上,创建一个文件夹用来保存 Q2TG 的数据
然后你需要决定选用哪个 QQ 客户端,NapCat 和 icqq 各有优劣,如果可以的话,请尽可能使用 icqq 来获得更好的支持。请参考以下内容准备相应的 Docker Compose 配置文件放在刚才创建的文件夹里
修改通用配置
你需要把前面获取到的信息填写到 Docker Compose 的环境变量里
yaml
- TG_API_ID=刚才获取的 api_id
- TG_API_HASH=刚才获取的 api_hash
yaml
- TG_BOT_TOKEN=刚才创建的 Bot Token
来自 配置反向代理服务器
yaml
- WEB_ENDPOINT=https://你的域名 # 填写你发布到公网的域名
yaml
- CRV_VIEWER_APP=https://t.me/机器人用户名/你指定的名字
如果你需要使用代理服务器来访问 Telegram 的话
yaml
# 如果不需要通过代理上网,则不需要下面两个变量
- PROXY_IP=代理服务器的 IP 地址
- PROXY_PORT=代理服务器的端口
如果你想使用已经有的 PostgreSQL 数据库
你可以在你的 Postgres 中给 Q2TG 创建一个用户和表,然后删除 docker compose 文件中的 postgres 小节,并在环境变量里设置服务器的连接信息
yaml
services:
# 如果有现成的 Postgresql 实例,可以删除这一小节
postgres:
image: postgres:14-alpine
restart: unless-stopped
environment:
POSTGRES_DB: db_name
POSTGRES_USER: user
POSTGRES_PASSWORD: password
volumes:
- postgresql:/var/lib/postgresql/data
q2tg:
environment:
- DATABASE_URL=postgres://user:password@dbIp/db_name
如果你想使用 Podman 部署
删除 docker compose 文件中这行代码:
yaml
volumes:
- q2tg:/app/data
- cache:/app/.config/QQ/NapCat/temp
- /var/run/docker.sock:/var/run/docker.sock
environment:
启动 Q2TG
使用以下命令开始启动 Q2TG
bash
docker compose up -d
使用以下命令开始查看日志
bash
docker compose logs -f q2tg
在首次设置的过程中,请在电脑上保持日志开启以方便你发现和排除问题。如果设置卡住或者出错后没有下文,请尝试重新发起 /setup
或者重启容器重新配置。
使用以下命令重启
bash
docker compose restart q2tg
初始化配置
首先向机器人发送 /setup
,然后根据提示操作即可完成 Q2TG 的设置