优化 Docker 开发启动流程

This commit is contained in:
yml2213
2026-07-31 16:27:51 +08:00
parent 30362f14bd
commit a091806283
5 changed files with 86 additions and 45 deletions
+11 -3
View File
@@ -18,7 +18,7 @@
- Go 1.26+
- Node.js 22+
- Docker(用于自动启动 PostgreSQL 开发容器
- Docker / Docker Compose(用于自动启动 PostgreSQL 开发服务
### 快速启动
@@ -33,6 +33,8 @@ make dev
./start.sh
```
`make dev` 会通过 Docker Compose 启动 `affiliate_dash/postgres`,后端和前端仍在宿主机运行,方便热更新。首次从旧版 `affiliate_dash_postgres_dev` 开发容器迁移时,脚本会停止旧容器并优先复用旧数据卷。
启动后:
- 前端:`http://localhost:5173`
- 后端:`http://localhost:8080`
@@ -61,10 +63,11 @@ cp .env.example .env
# JWT_SECRET — 生产环境务必修改
# OPEN_API_KEY — 皮肤源头对接 API Key
# OPEN_API_SECRET — 签名密钥
# DATABASE_URL — PostgreSQL 连接,容器内主机名为 postgres
# POSTGRES_USER / POSTGRES_PASSWORD / POSTGRES_DB — PostgreSQL 初始化配置
```
> 国内服务器可在 `.env` 中取消 `GOPROXY`、`ALPINE_MIRROR`、`NPM_REGISTRY` 等镜像加速源的注释。
> Docker 后端容器默认使用 `postgres` 作为数据库主机;只有连接外部数据库时才需要设置 `DOCKER_DATABASE_URL`。
### 启动服务
@@ -78,6 +81,7 @@ docker compose up -d --build
服务端口:
- `:80` — 前端页面 + API(Caddy 统一入口)
- `:8080` — 后端 API(直接访问,调试用)
- `:5432` — PostgreSQL(本地开发/调试用,可通过 `POSTGRES_PORT` 调整)
### 常用命令
@@ -89,7 +93,7 @@ make docker-down # 停止并移除
### 自定义域名
修改 `Caddyfile` 中的域名 `skin.khhao.com` 为你的域名,重新构建即可。
`Caddyfile` 默认同时支持本地 `:80` 和示例域名 `skin.khhao.com`。生产部署时把 `skin.khhao.com`为你的域名,重新构建即可。
## 环境变量
@@ -98,6 +102,10 @@ make docker-down # 停止并移除
| `PORT` | 后端端口 | `8080` |
| `JWT_SECRET` | JWT 签名密钥 | 开发默认值 |
| `DATABASE_URL` | PostgreSQL 连接串 | 本地开发默认值 |
| `DOCKER_DATABASE_URL` | Docker 后端容器内 PostgreSQL 连接串,通常无需设置 | Compose 内置默认值 |
| `POSTGRES_PORT` | PostgreSQL 映射到宿主机的端口 | `5432` |
| `COMPOSE_PROJECT_NAME` | Docker Compose 项目名 | `affiliate_dash` |
| `POSTGRES_DATA_VOLUME` | PostgreSQL 数据卷名 | `affiliate_dash_postgres_data` |
| `GIN_MODE` | Gin 运行模式 | `debug` |
| `OPEN_API_KEY` | 开放接口 ApiKey | 需修改 |
| `OPEN_API_SECRET` | 开放接口签名密钥 | 需修改 |