部署
如果配置了
MYSQL_DSN
环境变量即使用了MySql
数据库服务,请参考如下命令新建该项目所需的库。如果想配置MYSQL_DSN
但对部署MySql
服务不熟悉可以参考部署到 Zeabur中的Zeabur部署Mysql。
创建数据库示例sql命令
CREATE DATABASE hix_ai_2_api CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
基于 Docker-Compose(All In One) 进行部署
docker-compose pull && docker-compose up -d
docker-compose.yml
不配置
MYSQL_DSN
时,services中的db
服务可去掉。项目会采用Sqlite。
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 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
Zeabur 的服务器在国外,自动解决了网络的问题,
同时免费的额度也足够个人使用
首先 fork 一份代码。
进入 Zeabur,使用github登录,进入控制台。
在 Service -> Add Service,选择 Git(第一次使用需要先授权),选择你 fork 的仓库。
Deploy 会自动开始,先取消。
添加环境变量
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
[可选] 后台管理接口密钥
保存。
- 选择 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
配置
环境变量
PORT=7044
[可选]端口,默认为7044DEBUG=true
[可选]DEBUG模式,可打印更多信息[true:打开、false:关闭]MYSQL_DSN=hix-ai-2-api:123456@tcp(host:3306)/hix_ai_2_api?charset=utf8mb4&parseTime=true&loc=Asia%2FShanghai
# [可选] 设置之后将使用指定数据库而非 SQLite,请使用 MySQL。BACKEND_SECRET=123456
[可选]后台管理接口密钥BACKEND_API_ENABLE=1
[可选]后台管理接口开关(默认:1)[0:关闭,1:开启]CHAT_MAX_DAYS=7
[可选]对话记录保留天数(默认:-1[永久保留])ROUTE_PREFIX=hf
[可选]路由前缀,默认为空,添加该变量后的接口示例:/hf/v1/chat/completions
PROXY_URL=http://127.0.0.1:7897
[可选]代理SWAGGER_ENABLE=1
[可选]是否启用Swagger接口文档(默认:1)[0:关闭,1:开启]
进阶配置
部署后打开
http://<ip>:<port>
即可登录后台管理界面,管理密钥为环境变量BACKEND_SECRET
的值。
配置 API-KEY
右上角添加API-KEY
配置 COOKIE
右上角添加Cookie
获取cookie
- 打开HixAi
- 打开F12开发者工具
- 进行一次对话
- 如下图所示,右侧
chat
请求中请求头Cookie
中的蓝色高亮__Secure-next-auth.session-token
的值(红色高亮)即为所需cookie值(整个Cookie的值也可以)
其中Authorization
为环境变量BACKEND_SECRET
的值。
其他
HixAI(注册获取50Credit)