docker 部署 OmniRoute 网关

绕海飞行的鱼🐟 发布于 20 小时前 7 次阅读


前几天还在说目前最适合我的是 LiteLLM 了,结果没几天就变了🤦‍

更换这个的原因有几点:

  • 功能基本都是个人网关类的
  • 没有区分社区版和企业版👍(我觉得纯开源,才是真开源)
  • 有中文
  • 最终要的是:资源占用比 LiteLLM 省了(LiteLLM 在我 NAS 上不动,CPU 都会间歇性飙升一下,不知道啥原因,可能前者还带着个数据库,后者直接 SQLite 了)

基于以上,我就叛变了,虽然 PII 功能目前只有内置规则,希望后续可以自定义正则吧~

使用 docker compose 直接部署:

services:
  omniroute:
    image: diegosouzapw/omniroute
    container_name: omniroute
#    environment:
    volumes:
      - ./omniroute-data:/app/data
#    ports:
#      - 20128:20128
    stop_grace_period: 40s
    restart: unless-stopped
    networks:
      - mynet

networks:
  mynet:
    external: true

部署完后记得看下日志有没有错误,由于 docker 启用创建文件夹使用了 admin 权限,但是 omnirote 默认用户 id 和 group 都是 1000,如果跟你自身 docker 自动创建的持久化文件夹对不上权限的话,可能会导致无法生成数据库报错。。。我直到重启了一下容器把所有的数据都给我整没了,我才发现这个问题。。。

运行起来后,跟着向导走,里面的菜单多的离谱。。。

添加提供者:

第一次点开菜单会有点不知所措,花里胡哨一堆,供应商是真的多,有自己填 API 的,有免费(白嫖)的,甚至还有可以添加网页 cookies 的,基本包罗万象了。

然后在 API 管理中添加 KEY:

这样基本上就能用了。

其他的目前也还在研究阶段,尤其是路由,真的能配置的东西太多了,还有 Token 压缩。。。对于想要开箱即用的人来说,可能会失望了~