Skip to content

部署

如果配置了MYSQL_DSN环境变量即使用了MySql数据库服务,请参考如下命令新建该项目所需的库。如果想配置MYSQL_DSN但对部署MySql服务不熟悉可以参考部署到 Zeabur中的Zeabur部署Mysql

创建数据库示例sql命令

sql
CREATE DATABASE hix_ai_2_api CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;

基于 Docker-Compose(All In One) 进行部署

shell
docker-compose pull && docker-compose up -d

docker-compose.yml

不配置MYSQL_DSN时,services中的db服务可去掉。项目会采用Sqlite。

docker
version: '3.4'

services:
  hixai2api:
    image: deanxv/hixai2api:latest
    container_name: hixai2api
    restart: always
    ports:
      - "7044:7044"
    volumes:
      - ./data:/app/hixai2api/data
    environment:
      - MYSQL_DSN=hix-ai-2-api:123456@tcp(db:3306)/hix_ai_2_api?charset=utf8mb4&parseTime=true&loc=Asia%2FShanghai  # [可选] 设置之后将使用指定数据库而非 SQLite,请使用 MySQL。
      - BACKEND_SECRET=123456  # [可选]后台管理接口密钥
      - TZ=Asia/Shanghai

  db:
    image: mysql:8.2.0
    restart: always
    container_name: mysql
    volumes:
      - ./data/mysql:/var/lib/mysql  # 挂载目录,持久化存储
    ports:
      - '3306:3306'
    environment:
      TZ: Asia/Shanghai   # 可修改默认时区
      MYSQL_ROOT_PASSWORD: 'root@123456' # 可修改此行 root用户名 密码
      MYSQL_USER: hix-ai-2-api   # 可修改初始化专用用户用户名
      MYSQL_PASSWORD: '123456'    # 可修改初始化专用用户密码
      MYSQL_DATABASE: hix_ai_2_api   # 可修改初始化专用数据库

基于 Docker 进行部署

docker
docker run --name hixai2api -d --restart always \
-p 7044:7044 \
-v $(pwd)/data:/app/hixai2api/data \
-e MYSQL_DSN='hix-ai-2-api:123456@tcp(host:3306)/hix_ai_2_api?charset=utf8mb4&parseTime=true&loc=Asia%2FShanghai' \
-e BACKEND_SECRET=123456 \
-e TZ=Asia/Shanghai \
deanxv/hixai2api

其中MYSQL_DSN[可选]、BACKEND_SECRET修改为自己的。

如果上面的镜像无法拉取,可以尝试使用 GitHub 的 Docker 镜像,将上面的deanxv/hixai2api替换为ghcr.io/deanxv/hixai2api即可。

部署到第三方平台

部署到 Zeabur

Deployed on Zeabur

Zeabur 的服务器在国外,自动解决了网络的问题,同时免费的额度也足够个人使用

  1. 首先 fork 一份代码。

  2. 进入 Zeabur,使用github登录,进入控制台。

  3. 在 Service -> Add Service,选择 Git(第一次使用需要先授权),选择你 fork 的仓库。

  4. Deploy 会自动开始,先取消。

  5. 添加环境变量

    MYSQL_DSN=hix-ai-2-api:123456@tcp(host:3306)/hix_ai_2_api?charset=utf8mb4&parseTime=true&loc=Asia%2FShanghai MYSQL连接信息

    BACKEND_SECRET=123456 [可选] 后台管理接口密钥

保存。

  1. 选择 Redeploy。

Zeabur部署Mysql

按照上图创建MySql服务后,在环境变量MYSQL_DSN中填写对应的连接信息。

Username:Password@tcp(Host:Port)/hix_ai_2_api?charset=utf8mb4&parseTime=true&loc=Asia%2FShanghai

同样不要忘记创建数据库

部署到 Render

Render 提供免费额度,绑卡后可以进一步提升额度

Render 可以直接部署 docker 镜像,不需要 fork 仓库:Render

配置

环境变量

  1. PORT=7044 [可选]端口,默认为7044
  2. DEBUG=true [可选]DEBUG模式,可打印更多信息[true:打开、false:关闭]
  3. MYSQL_DSN=hix-ai-2-api:123456@tcp(host:3306)/hix_ai_2_api?charset=utf8mb4&parseTime=true&loc=Asia%2FShanghai # [可选] 设置之后将使用指定数据库而非 SQLite,请使用 MySQL。
  4. BACKEND_SECRET=123456 [可选]后台管理接口密钥
  5. BACKEND_API_ENABLE=1 [可选]后台管理接口开关(默认:1)[0:关闭,1:开启]
  6. CHAT_MAX_DAYS=7 [可选]对话记录保留天数(默认:-1[永久保留])
  7. ROUTE_PREFIX=hf [可选]路由前缀,默认为空,添加该变量后的接口示例:/hf/v1/chat/completions
  8. PROXY_URL=http://127.0.0.1:7897 [可选]代理
  9. SWAGGER_ENABLE=1 [可选]是否启用Swagger接口文档(默认:1)[0:关闭,1:开启]

进阶配置

部署后打开http://<ip>:<port>即可登录后台管理界面,管理密钥为环境变量BACKEND_SECRET的值。

配置 API-KEY

右上角添加API-KEY

右上角添加Cookie

获取cookie

  1. 打开HixAi
  2. 打开F12开发者工具
  3. 进行一次对话
  4. 如下图所示,右侧chat请求中请求头Cookie中的蓝色高亮__Secure-next-auth.session-token的值(红色高亮)即为所需cookie值(整个Cookie的值也可以)

其中Authorization为环境变量BACKEND_SECRET的值。

其他

HixAI(注册获取50Credit)

RELEASED UNDER THE MIT LICENSE.