东风不来
三月的柳絮不飞

VPS 部署 Gemini Balance 服务

1. 项目简介

Gemini Balance 是一个基于 Python FastAPI 构建的应用程序,旨在提供 Google Gemini API 的代理和负载均衡功能。它允许您管理多个 Gemini API Key,并通过简单的配置实现 Key 的轮询、认证、模型过滤和状态监控。此外,项目还集成了图像生成和多种图床上传功能,并支持 OpenAI API 格式的代理。

项目地址:https://github.com/snailyp/gemini-balance/tree/main

2. docker 安装

# 下载并执行Docker官方安装脚本
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

# 启动Docker服务
sudo systemctl start docker
sudo systemctl enable docker

3. 使用 Docker Compose 部署

注意:下面的 docker-compose.yml 和 .env 文件必须要在的目录下!

3.1 新增 .env 文件

# 数据库配置
DATABASE_TYPE=mysql
#SQLITE_DATABASE=default_db
MYSQL_HOST=gemini-balance-mysql
#MYSQL_SOCKET=/run/mysqld/mysqld.sock
MYSQL_PORT=3306
MYSQL_USER=gemini
MYSQL_PASSWORD=change_me
MYSQL_DATABASE=default_db
API_KEYS=["AIzaSyxxxxxxxxxxxxxxxxxxx","AIzaSyxxxxxxxxxxxxxxxxxxx"]
ALLOWED_TOKENS=["sk-123456"]
AUTH_TOKEN=sk-123456

 修改 MYSQL_ 开头相关配置

3.2 新建 docker-compose.yml 文件

volumes:
  mysql_data:
services:
  gemini-balance:
    image: ghcr.io/snailyp/gemini-balance:latest
    container_name: gemini-balance
    restart: unless-stopped
    ports:
      - "8000:8000"
    env_file:
      - .env
    depends_on:
      mysql:
        condition: service_healthy
    healthcheck:
      test: ["CMD-SHELL", "python -c \"import requests; exit(0) if requests.get('http://localhost:8000/health').status_code == 200 else exit(1)\""]
      interval: 30s
      timeout: 5s
      retries: 3
      start_period: 10s
  mysql:
    image: mysql:8
    container_name: gemini-balance-mysql
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: your_root_password
      MYSQL_DATABASE: ${MYSQL_DATABASE}
      MYSQL_USER: ${MYSQL_USER}
      MYSQL_PASSWORD: ${MYSQL_PASSWORD}
    # ports:
    #   - "3306:3306"
    volumes:
      - mysql_data:/var/lib/mysql
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1"]
      interval: 10s # 每隔10秒检查一次
      timeout: 5s   # 每次检查的超时时间为5秒
      retries: 3    # 重试3次失败后标记为 unhealthy
      start_period: 30s # 容器启动后等待30秒再开始第一次健康检查

修改 MYSQL_ 开头相关配置。

3.3 启动服务

在 docker-compose.yml 和 .env 文件所在的目录下,运行以下命令:

docker-compose up -d 

该命令会以后台模式启动 Gemini Balance 应用和 mysql 数据库。

4. Nginx 配置

将下面配置到自己的 Nginx 对应的 server 里面:

location / {
	proxy_pass http://127.0.0.1:8000;
	proxy_set_header Host $host;
	proxy_set_header X-Real-IP $remote_addr;
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	proxy_set_header X-Forwarded-Proto $scheme;
	proxy_read_timeout 90;
}
赞(0) 打赏
未经允许不得转载:文字咖 » VPS 部署 Gemini Balance 服务

评论 抢沙发

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫