mirror of
https://gitee.com/wanwujie/sub2api
synced 2026-04-03 06:52:13 +08:00
docs: 添加 Star 环境部署信息并创建 AGENTS.md
- CLAUDE.md 中添加 Star 环境记录(端口 8086、数据库 star、Redis DB 4) - 复制 CLAUDE.md 为 AGENTS.md
This commit is contained in:
73
AGENTS.md
73
AGENTS.md
@@ -99,7 +99,7 @@ git push origin main
|
||||
|
||||
- 本地已配置 SSH 别名 `clicodeplus` 连接到生产服务器(运行服务)
|
||||
- 本地已配置 SSH 别名 `us-asaki-root` 连接到构建服务器(拉取代码、构建镜像)
|
||||
- 生产服务器部署目录:`/root/sub2api`(正式)、`/root/sub2api-beta`(测试)
|
||||
- 生产服务器部署目录:`/root/sub2api`(正式)、`/root/sub2api-beta`(测试)、`/root/sub2api-star`(Star)
|
||||
- 生产服务器使用 Docker Compose 部署
|
||||
- **镜像统一在构建服务器上构建**,避免生产服务器因编译占用 CPU/内存影响线上服务
|
||||
|
||||
@@ -109,20 +109,45 @@ git push origin main
|
||||
|--------|----------|------|
|
||||
| 构建服务器 | `us-asaki-root` | 拉取代码、`docker build` 构建镜像 |
|
||||
| 生产服务器 | `clicodeplus` | 加载镜像、运行服务、部署验证 |
|
||||
| 数据库服务器 | `db-clicodeplus` | PostgreSQL 16 + Redis 7,所有环境共用 |
|
||||
|
||||
> 数据库服务器运维手册:`db-clicodeplus:/root/README.md`
|
||||
|
||||
### 部署环境说明
|
||||
|
||||
| 环境 | 目录(生产服务器) | 端口 | 数据库 | 容器名 |
|
||||
|------|------|------|--------|--------|
|
||||
| 正式 | `/root/sub2api` | 8080 | `sub2api` | `sub2api` |
|
||||
| Beta | `/root/sub2api-beta` | 8084 | `beta` | `sub2api-beta` |
|
||||
| 环境 | 目录(生产服务器) | 端口 | 数据库 | Redis DB | 容器名 |
|
||||
|------|------|------|--------|----------|--------|
|
||||
| 正式 | `/root/sub2api` | 8080 | `sub2api` | 0 | `sub2api` |
|
||||
| Beta | `/root/sub2api-beta` | 8084 | `beta` | 2 | `sub2api-beta` |
|
||||
| OpenAI | `/root/sub2api-openai` | 8083 | `openai` | 3 | `sub2api-openai` |
|
||||
| Star | `/root/sub2api-star` | 8086 | `star` | 4 | `sub2api-star` |
|
||||
|
||||
### 外部数据库
|
||||
### 外部数据库与 Redis
|
||||
|
||||
正式和 Beta 环境**共用外部 PostgreSQL 数据库**(非容器内数据库),配置在 `.env` 文件中:
|
||||
- `DATABASE_HOST`:外部数据库地址
|
||||
- `DATABASE_SSLMODE`:SSL 模式(通常为 `require`)
|
||||
- `POSTGRES_USER` / `POSTGRES_DB`:用户名和数据库名
|
||||
所有环境(正式、Beta、OpenAI、Star)共用 `db.clicodeplus.com` 上的 **PostgreSQL 16** 和 **Redis 7**,不使用容器内数据库或 Redis。
|
||||
|
||||
**PostgreSQL**(端口 5432,TLS 加密,scram-sha-256 认证):
|
||||
|
||||
| 环境 | 用户名 | 数据库 |
|
||||
|------|--------|--------|
|
||||
| 正式 | `sub2api` | `sub2api` |
|
||||
| Beta | `beta` | `beta` |
|
||||
| OpenAI | `openai` | `openai` |
|
||||
| Star | `star` | `star` |
|
||||
|
||||
**Redis**(端口 6379,密码认证):
|
||||
|
||||
| 环境 | DB |
|
||||
|------|-----|
|
||||
| 正式 | 0 |
|
||||
| Beta | 2 |
|
||||
| OpenAI | 3 |
|
||||
| Star | 4 |
|
||||
|
||||
**配置方式**:
|
||||
- 数据库通过 `.env` 中的 `DATABASE_HOST`、`DATABASE_SSLMODE`、`POSTGRES_USER`、`POSTGRES_PASSWORD`、`POSTGRES_DB` 配置
|
||||
- Redis 通过 `docker-compose.override.yml` 覆盖 `REDIS_HOST`(因主 compose 文件硬编码为 `redis`),密码通过 `.env` 中的 `REDIS_PASSWORD` 配置
|
||||
- 各环境的 `docker-compose.override.yml` 已通过 `depends_on: !reset {}` 和 `redis: profiles: [disabled]` 去掉了对容器 Redis 的依赖
|
||||
|
||||
#### 数据库操作命令
|
||||
|
||||
@@ -311,14 +336,20 @@ perl -pi -e 's/^SERVER_PORT=.*/SERVER_PORT=8084/' ./.env
|
||||
perl -pi -e 's/^POSTGRES_USER=.*/POSTGRES_USER=beta/' ./.env
|
||||
perl -pi -e 's/^POSTGRES_DB=.*/POSTGRES_DB=beta/' ./.env
|
||||
|
||||
# 5) 写 compose override(避免与现网容器名冲突,镜像使用构建服务器传输的 sub2api:beta)
|
||||
# 5) 写 compose override(避免与现网容器名冲突,镜像使用构建服务器传输的 sub2api:beta,Redis 使用外部服务)
|
||||
cat > docker-compose.override.yml <<'YAML'
|
||||
services:
|
||||
sub2api:
|
||||
image: sub2api:beta
|
||||
container_name: sub2api-beta
|
||||
environment:
|
||||
- DATABASE_HOST=${DATABASE_HOST:-postgres}
|
||||
- DATABASE_SSLMODE=${DATABASE_SSLMODE:-disable}
|
||||
- REDIS_HOST=db.clicodeplus.com
|
||||
depends_on: !reset {}
|
||||
redis:
|
||||
container_name: sub2api-beta-redis
|
||||
profiles:
|
||||
- disabled
|
||||
YAML
|
||||
|
||||
# 6) 启动 beta(独立 project,确保不影响现网)
|
||||
@@ -332,10 +363,11 @@ docker logs sub2api-beta --tail 50
|
||||
|
||||
### 数据库配置约定(beta)
|
||||
|
||||
- 数据库地址/SSL/密码:与现网一致(从现网 `.env` 复制即可)。
|
||||
- 数据库地址/SSL/密码:与现网一致(从现网 `.env` 复制即可),均指向 `db.clicodeplus.com`。
|
||||
- 仅修改:
|
||||
- `POSTGRES_USER=beta`
|
||||
- `POSTGRES_DB=beta`
|
||||
- `REDIS_DB=2`
|
||||
|
||||
注意:需要数据库侧已存在 `beta` 用户与 `beta` 数据库,并授予权限;否则容器会启动失败并不断重启。
|
||||
|
||||
@@ -415,7 +447,19 @@ git checkout -B release/custom-0.1.69 fork/release/custom-0.1.69
|
||||
# 配置环境变量
|
||||
cd deploy
|
||||
cp .env.example .env
|
||||
vim .env # 配置 DATABASE_URL, REDIS_URL, JWT_SECRET 等
|
||||
vim .env # 配置 DATABASE_HOST=db.clicodeplus.com, POSTGRES_PASSWORD, REDIS_PASSWORD, JWT_SECRET 等
|
||||
|
||||
# 创建 override 文件(Redis 指向外部服务,去掉容器 Redis 依赖)
|
||||
cat > docker-compose.override.yml <<'YAML'
|
||||
services:
|
||||
sub2api:
|
||||
environment:
|
||||
- REDIS_HOST=db.clicodeplus.com
|
||||
depends_on: !reset {}
|
||||
redis:
|
||||
profiles:
|
||||
- disabled
|
||||
YAML
|
||||
```
|
||||
|
||||
### 5. 生产服务器:更新镜像标签并启动服务
|
||||
@@ -540,6 +584,7 @@ x-api-key: admin-xxx
|
||||
| 正式 | `https://clicodeplus.com` | 生产环境 |
|
||||
| Beta | `http://<服务器IP>:8084` | 仅内网访问 |
|
||||
| OpenAI | `http://<服务器IP>:8083` | 仅内网访问 |
|
||||
| Star | `https://hyntoken.com` | 独立环境 |
|
||||
|
||||
> 以下接口文档中,`${BASE}` 代表环境基础地址,`${KEY}` 代表 `.env` 中的 `ADMIN_API_KEY`。操作前执行 `source .env` 或 `export KEY=$ADMIN_API_KEY` 加载。
|
||||
|
||||
|
||||
@@ -99,7 +99,7 @@ git push origin main
|
||||
|
||||
- 本地已配置 SSH 别名 `clicodeplus` 连接到生产服务器(运行服务)
|
||||
- 本地已配置 SSH 别名 `us-asaki-root` 连接到构建服务器(拉取代码、构建镜像)
|
||||
- 生产服务器部署目录:`/root/sub2api`(正式)、`/root/sub2api-beta`(测试)
|
||||
- 生产服务器部署目录:`/root/sub2api`(正式)、`/root/sub2api-beta`(测试)、`/root/sub2api-star`(Star)
|
||||
- 生产服务器使用 Docker Compose 部署
|
||||
- **镜像统一在构建服务器上构建**,避免生产服务器因编译占用 CPU/内存影响线上服务
|
||||
|
||||
@@ -120,10 +120,11 @@ git push origin main
|
||||
| 正式 | `/root/sub2api` | 8080 | `sub2api` | 0 | `sub2api` |
|
||||
| Beta | `/root/sub2api-beta` | 8084 | `beta` | 2 | `sub2api-beta` |
|
||||
| OpenAI | `/root/sub2api-openai` | 8083 | `openai` | 3 | `sub2api-openai` |
|
||||
| Star | `/root/sub2api-star` | 8086 | `star` | 4 | `sub2api-star` |
|
||||
|
||||
### 外部数据库与 Redis
|
||||
|
||||
所有环境(正式、Beta、OpenAI)共用 `db.clicodeplus.com` 上的 **PostgreSQL 16** 和 **Redis 7**,不使用容器内数据库或 Redis。
|
||||
所有环境(正式、Beta、OpenAI、Star)共用 `db.clicodeplus.com` 上的 **PostgreSQL 16** 和 **Redis 7**,不使用容器内数据库或 Redis。
|
||||
|
||||
**PostgreSQL**(端口 5432,TLS 加密,scram-sha-256 认证):
|
||||
|
||||
@@ -132,6 +133,7 @@ git push origin main
|
||||
| 正式 | `sub2api` | `sub2api` |
|
||||
| Beta | `beta` | `beta` |
|
||||
| OpenAI | `openai` | `openai` |
|
||||
| Star | `star` | `star` |
|
||||
|
||||
**Redis**(端口 6379,密码认证):
|
||||
|
||||
@@ -140,6 +142,7 @@ git push origin main
|
||||
| 正式 | 0 |
|
||||
| Beta | 2 |
|
||||
| OpenAI | 3 |
|
||||
| Star | 4 |
|
||||
|
||||
**配置方式**:
|
||||
- 数据库通过 `.env` 中的 `DATABASE_HOST`、`DATABASE_SSLMODE`、`POSTGRES_USER`、`POSTGRES_PASSWORD`、`POSTGRES_DB` 配置
|
||||
@@ -581,6 +584,7 @@ x-api-key: admin-xxx
|
||||
| 正式 | `https://clicodeplus.com` | 生产环境 |
|
||||
| Beta | `http://<服务器IP>:8084` | 仅内网访问 |
|
||||
| OpenAI | `http://<服务器IP>:8083` | 仅内网访问 |
|
||||
| Star | `https://hyntoken.com` | 独立环境 |
|
||||
|
||||
> 以下接口文档中,`${BASE}` 代表环境基础地址,`${KEY}` 代表 `.env` 中的 `ADMIN_API_KEY`。操作前执行 `source .env` 或 `export KEY=$ADMIN_API_KEY` 加载。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user