51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

docker-compose编排one-api-管理api的key池

One-Api是一个Api-key池管理工具,是OpenAI 接口管理 & 分发系统,支持 Azure、Anthropic Claude、Google PaLM 2 & Gemini、智谱 ChatGLM、百度文心一言、讯飞星火认知、阿里通义千问、360 智脑以及腾讯混元,可用于二次分发管理 key,仅单可执行文件,已打包好 Docker 镜像,一键部署,开箱即用。

项目地址:https://github.com/songquanpeng/one-api

现在使用docker-compose编排启动one-api,编排文件如下:

version: '3'

services: one-api: image: justsong/one-api:latest container_name: one-api restart: always command: --log-dir /app/logs ports:

  • "3000:3000" volumes:
  • ./one-api/data:/data
  • ./one-api/log:/app/logs environment:
  • SQL_DSN=oneapi:123456@tcp(mysql:3306)/one-api
  • REDIS_CONN_STRING=redis://:123456@redis:6379
  • SESSION_SECRET=random_string
  • TZ=Asia/Shanghai depends_on:
  • redis
  • mysql healthcheck: test: [ "CMD-SHELL", "wget -q -O - http://localhost:3000/api/status | grep -o '"success":\s*true' | awk -F: '{print $2}'" ] interval: 30s timeout: 10s retries: 3

mysql:image:mysql:8.0.35container_name:mysql_8_0_35restart:alwaysvolumes:-"./mysql/config/my.cnf:/etc/my.cnf"-"./mysql/data:/var/lib/mysql"-"./mysql/mysql-files:/var/lib/mysql-files"-"./mysql/log:/var/log/mysql"-/etc/localtime:/etc/localtime:roenvironment:TZ:Asia/ShanghaiLANG:en_US.UTF-8MYSQL_ROOT_PASSWORD:rootMYSQL_USER:oneapi# 创建专用用户MYSQL_PASSWORD:'123456'# 设置专用用户密码MYSQL_DATABASE:one-api# 自动创建数据库privileged:trueports:-"3306:3306"redis:image:redis:6.0.8container_name:redis_6_0_8restart:always# 启动redis服务,设置密码,设置持久化command:redis-server--requirepass123456--appendonlyyesenvironment: TZ:Asia/ShanghaiLANG:en_US.UTF-8volumes: -"./redis/data:/data"-"./redis/config/redis.conf:/etc/redis/redis.conf"ports: -"6379:6379"


其中的mysql的配置文件 my.cnf 参照我的上一篇文章。

这样就搭建好了,使用浏览器访问即可: IP地址:3000

one-api的使用教程:添加新的渠道 -> 添加新的令牌 -> 复制令牌(sk-xxx)-> 使用。

以 openapi 为例,将原来的 url 替换成 ip地址:3000/v1, key替换成上面复制的key即可。

这样就可以在程序中使用上面key池中的key了。

可以结合 fastgpt 搭建自己的知识库。

赞(2)
未经允许不得转载:工具盒子 » docker-compose编排one-api-管理api的key池