Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c6a1f08031 | ||
|
|
bed91cbcf7 | ||
|
|
a2e6b642d3 | ||
|
|
dda7864428 |
31
.env.example
31
.env.example
@@ -4,9 +4,10 @@
|
||||
# 使用说明:
|
||||
# 1. 复制此文件为 .env: cp .env.example .env
|
||||
# 2. 修改以下配置项为您的实际值
|
||||
# 3. 根据是否使用内置数据库选择启动命令:
|
||||
# - 使用内置数据库: docker-compose --profile with-db up -d
|
||||
# - 使用外部数据库: docker-compose up -d
|
||||
# 3. 根据数据库选择启动命令:
|
||||
# - 默认 SQLite: docker compose up -d
|
||||
# - 内置 MySQL: DB_PROVIDER=mysql docker compose --profile mysql up -d
|
||||
# - 外部 MySQL: DB_PROVIDER=mysql docker compose up -d
|
||||
# ============================================
|
||||
|
||||
# --------------------------------------------
|
||||
@@ -23,24 +24,30 @@ ENVIRONMENT=production
|
||||
DEBUG=false
|
||||
|
||||
# --------------------------------------------
|
||||
# MySQL 数据库配置
|
||||
# 数据库配置
|
||||
# --------------------------------------------
|
||||
# mysql/sqlite 默认数据库类型;docker compose up -d 将以 SQLite 运行
|
||||
DB_PROVIDER=sqlite
|
||||
# SQLite 数据存储映射(可选):留空或移除即使用命名卷 sqlite-data
|
||||
# 可设置为宿主机路径或其他卷名,例如:./storage 或 /data/arboris
|
||||
# SQLITE_STORAGE_SOURCE=./storage
|
||||
|
||||
# 📌 方案一:使用内置 MySQL 数据库(推荐快速体验)
|
||||
# 启动命令: docker-compose --profile with-db up -d
|
||||
# 启动命令: DB_PROVIDER=mysql docker compose --profile mysql up -d
|
||||
# 配置如下(保持 MYSQL_HOST=db):
|
||||
MYSQL_HOST=db
|
||||
MYSQL_PORT=3306
|
||||
MYSQL_USER=arboris
|
||||
MYSQL_PASSWORD=your-database-password-change-me
|
||||
MYSQL_DATABASE=arboris
|
||||
# MYSQL_HOST=db
|
||||
# MYSQL_PORT=3306
|
||||
# MYSQL_USER=arboris
|
||||
# MYSQL_PASSWORD=your-database-password-change-me
|
||||
# MYSQL_DATABASE=arboris
|
||||
# 内置数据库需要设置 ROOT 密码
|
||||
MYSQL_ROOT_PASSWORD=your-root-password-change-me
|
||||
# MYSQL_ROOT_PASSWORD=your-root-password-change-me
|
||||
# 内置数据库对外暴露的端口(可选,用于外部连接)
|
||||
# 如果宿主机 3306 端口被占用,修改为其他端口,如 3307
|
||||
# MYSQL_EXTERNAL_PORT=3307
|
||||
|
||||
# 📌 方案二:使用外部 MySQL 数据库
|
||||
# 启动命令: docker-compose up -d(不加 --profile)
|
||||
# 启动命令: DB_PROVIDER=mysql docker compose up -d
|
||||
# 配置如下(修改 MYSQL_HOST 为外部数据库地址):
|
||||
# MYSQL_HOST=host.docker.internal
|
||||
# MYSQL_PORT=3306
|
||||
|
||||
19
README.md
19
README.md
@@ -23,7 +23,7 @@
|
||||
|
||||
## ✨ Arboris 能为你做什么?
|
||||
|
||||
想象一下,你只需提出一个模糊的想法,AI 就能为你……
|
||||
在这里,你只需提出一个模糊的想法,AI 就能为你……
|
||||
|
||||
- **🌱 孕育世界**: 从零开始构建一个全新的世界观,包括独特的派系、关键的地点和丰富的背景设定。
|
||||
- **🎭 塑造角色**: 创造有血有肉的角色,并用一张清晰的关系网将他们联系起来,让人物关系一目了然。
|
||||
@@ -54,14 +54,19 @@
|
||||
|
||||
### 使用 Docker Compose 启动
|
||||
1. 确认 `.env` 与 `docker-compose.yml` 位于同一目录。
|
||||
2. 若需要内置 MySQL,执行(推荐内置):
|
||||
```bash
|
||||
docker compose --profile with-db up -d
|
||||
```
|
||||
3. 若使用外部数据库,执行:
|
||||
2. 默认使用 SQLite(无需数据库服务),直接执行:
|
||||
```bash
|
||||
docker compose up -d
|
||||
```
|
||||
> 如需将 SQLite 数据库文件映射到宿主机路径,可在 `.env` 中设置 `SQLITE_STORAGE_SOURCE=./storage` 或绝对路径。
|
||||
3. 若需启用内置 MySQL,请在命令前设置 `DB_PROVIDER=mysql` 并启用 `mysql` profile:
|
||||
```bash
|
||||
DB_PROVIDER=mysql docker compose --profile mysql up -d
|
||||
```
|
||||
4. 若连接外部 MySQL,同样需设置 `DB_PROVIDER=mysql`,但无需开启 profile:
|
||||
```bash
|
||||
DB_PROVIDER=mysql docker compose up -d
|
||||
```
|
||||
|
||||
### 环境变量摘要
|
||||
| 变量 | 必填 | 说明 |
|
||||
@@ -70,6 +75,8 @@
|
||||
| `SECRET_KEY` | 是 | JWT 加密密钥,需设置为随机且足够复杂的字符串。 |
|
||||
| `ENVIRONMENT` | 否 | 运行环境标识,默认 `production`。 |
|
||||
| `DEBUG` | 否 | 是否启用调试日志,默认 `false`。 |
|
||||
| `DB_PROVIDER` | 否 | 数据库类型,默认 `sqlite`;切换为 `mysql` 时请配合相关命令。 |
|
||||
| `SQLITE_STORAGE_SOURCE` | 否 | SQLite 数据存储映射;留空使用命名卷,或设置为宿主机路径/其他卷名。 |
|
||||
| `MYSQL_HOST` | 是 | 数据库主机地址,使用内置 MySQL 时保持为 `db`。 |
|
||||
| `MYSQL_PORT` | 否 | 数据库端口,默认 `3306`。 |
|
||||
| `MYSQL_USER` | 是 | 应用使用的数据库用户名。 |
|
||||
|
||||
@@ -9,6 +9,8 @@ services:
|
||||
ENVIRONMENT: ${ENVIRONMENT:-production}
|
||||
DEBUG: ${DEBUG:-false}
|
||||
|
||||
DB_PROVIDER: ${DB_PROVIDER:-sqlite}
|
||||
|
||||
MYSQL_HOST: ${MYSQL_HOST:-db}
|
||||
MYSQL_PORT: ${MYSQL_PORT:-3306}
|
||||
MYSQL_USER: ${MYSQL_USER:-arboris}
|
||||
@@ -40,6 +42,8 @@ services:
|
||||
LINUXDO_TOKEN_URL: ${LINUXDO_TOKEN_URL:-https://connect.linux.do/oauth2/token}
|
||||
LINUXDO_USER_INFO_URL: ${LINUXDO_USER_INFO_URL:-https://connect.linux.do/api/user}
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ${SQLITE_STORAGE_SOURCE:-sqlite-data}:/app/storage
|
||||
networks:
|
||||
- app-network
|
||||
healthcheck:
|
||||
@@ -49,12 +53,12 @@ services:
|
||||
retries: 3
|
||||
start_period: 90s
|
||||
|
||||
# MySQL 数据库服务(可选,使用 profile)
|
||||
# MySQL 数据库服务(通过 profile mysql 启用)
|
||||
db:
|
||||
image: mysql:8.0
|
||||
container_name: arboris-db
|
||||
profiles:
|
||||
- with-db
|
||||
- mysql
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-ChangeMe_RootPassword123}
|
||||
MYSQL_DATABASE: ${MYSQL_DATABASE:-arboris}
|
||||
@@ -81,6 +85,8 @@ services:
|
||||
volumes:
|
||||
mysql-data:
|
||||
driver: local
|
||||
sqlite-data:
|
||||
driver: local
|
||||
|
||||
networks:
|
||||
app-network:
|
||||
|
||||
Reference in New Issue
Block a user