mirror of
https://github.com/snailyp/gemini-balance.git
synced 2026-05-18 17:37:37 +08:00
Merge branch 'pr/happy-game/96'
This commit is contained in:
12
README.md
12
README.md
@@ -91,6 +91,12 @@ app/
|
||||
* `-p 8000:8000`: 将容器的 8000 端口映射到主机的 8000 端口。
|
||||
* `--env-file .env`: 使用 `.env` 文件设置环境变量。
|
||||
|
||||
> 注意:如果使用 SQLite 数据库,需要挂载数据卷以持久化数据:
|
||||
> ```bash
|
||||
> docker run -d -p 8000:8000 --env-file .env -v /path/to/data:/app/data gemini-balance
|
||||
> ```
|
||||
> 其中 `/path/to/data` 是主机上的数据存储路径,`/app/data` 是容器内的数据目录。
|
||||
|
||||
#### b) 用现有的docker镜像部署
|
||||
|
||||
1. **拉取镜像**:
|
||||
@@ -109,6 +115,12 @@ app/
|
||||
* `-p 8000:8000`: 将容器的 8000 端口映射到主机的 8000 端口 (根据需要调整)。
|
||||
* `--env-file .env`: 使用 `.env` 文件设置环境变量 (确保 `.env` 文件存在于执行命令的目录)。
|
||||
|
||||
> 注意:如果使用 SQLite 数据库,需要挂载数据卷以持久化数据:
|
||||
> ```bash
|
||||
> docker run -d -p 8000:8000 --env-file .env -v /path/to/data:/app/data ghcr.io/snailyp/gemini-balance:latest
|
||||
> ```
|
||||
> 其中 `/path/to/data` 是主机上的数据存储路径,`/app/data` 是容器内的数据目录。
|
||||
|
||||
### 本地运行 (适用于开发和测试)
|
||||
|
||||
如果您想在本地直接运行源代码进行开发或测试,请按照以下步骤操作:
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
"""
|
||||
数据库连接池模块
|
||||
"""
|
||||
from pathlib import Path
|
||||
from databases import Database
|
||||
from sqlalchemy import create_engine, MetaData
|
||||
# from sqlalchemy.orm import sessionmaker # 不再需要
|
||||
@@ -13,7 +14,11 @@ logger = get_database_logger()
|
||||
|
||||
# 数据库URL
|
||||
if settings.DATABASE_TYPE == "sqlite":
|
||||
DATABASE_URL = f"sqlite:///{settings.SQLITE_DATABASE}"
|
||||
# 确保 data 目录存在
|
||||
data_dir = Path("data")
|
||||
data_dir.mkdir(exist_ok=True)
|
||||
db_path = data_dir / settings.SQLITE_DATABASE
|
||||
DATABASE_URL = f"sqlite:///{db_path}"
|
||||
elif settings.DATABASE_TYPE == "mysql":
|
||||
if settings.MYSQL_SOCKET:
|
||||
DATABASE_URL = f"mysql+pymysql://{settings.MYSQL_USER}:{settings.MYSQL_PASSWORD}@/{settings.MYSQL_DATABASE}?unix_socket={settings.MYSQL_SOCKET}"
|
||||
|
||||
Reference in New Issue
Block a user