Skip to content

安装部署 Q2TG v4

字数
1149 字
阅读时间
5 分钟

需要准备一台安装了 Docker 和 docker-compose,能同时连接 QQ 和 Telegram 服务器,并能保持开启的机器

Q2TG v4 需要 PostgreSQL,如果没有的话,会在 docker-compose 时创建一个。请确保服务器资源充足

获取 Telegram API ID

  1. 打开 My Telegram Core 并登录
  2. 设置你应用的信息
  3. 提交后,可以获取 api_idapi_hash

创建 Telegram 机器人

如果你已经有了 Telegram Bot Token 并且已经确保关闭 Group Privacy,可以跳过此步骤

  1. 在 Telegram 中找到 BotFather
  2. 输入 /newbot 命令,根据提示创建一个新的机器人账号
  3. 输入 /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 的环境变量里

来自 获取 Telegram API ID

yaml
- TG_API_ID=刚才获取的 api_id
- TG_API_HASH=刚才获取的 api_hash

来自 创建 Telegram 机器人

yaml
- TG_BOT_TOKEN=刚才创建的 Bot Token

来自 配置反向代理服务器

yaml
- WEB_ENDPOINT=https://你的域名 # 填写你发布到公网的域名

来自 注册 Telegram WebAPP

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 的设置

如果你遇到了问题,可以参考常见问题,或者加入用户交流群寻求帮助