Files
iam-service/deploy/README.md
2026-02-11 16:31:27 +08:00

43 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# iam-service 部署(仅核心服务)
本目录仅包含 **iam-service** 的部署配置,明确排除以下组件:
- PostgreSQL不在本目录内提供部署/启动)
- Redis不在本目录内提供部署/启动)
- iam-front不在本目录内提供部署/启动)
## 环境变量(唯一真实来源)
- 唯一来源:`iam-service/.env`
- 部署脚本与 docker-compose 均以该文件作为环境变量来源(包括端口映射所需的 `${PORT}` 插值)。
## 密钥文件验证(以 data 目录为准)
- `iam-service/data/jwt_private_key.pem`
- `iam-service/data/jwt_public_key.pem`
`.env` 中显式设置了 `JWT_PRIVATE_KEY_PEM` / `JWT_PUBLIC_KEY_PEM`,校验脚本会要求其内容与上述文件内容一致;若未设置,则要求上述文件存在且非空。
## 部署文件结构
- `deploy/validate-env.sh`:环境变量与密钥文件校验
- `deploy/docker/Dockerfile`iam-service 镜像构建
- `deploy/docker/docker-compose.yml`:仅定义 iam-service 服务
- `deploy/docker/start.sh`:启动(会先执行校验脚本)
- `deploy/docker/stop.sh`:停止
## 启动/停止
启动:
```bash
bash deploy/docker/start.sh
```
停止:
```bash
bash deploy/docker/stop.sh
```
## 外部依赖(由你自行提供)
iam-service 启动仍需要以下外部服务地址(来自 `.env`
- `DATABASE_URL`:指向已存在的 PostgreSQL 实例
- `REDIS_URL`:指向已存在的 Redis 实例
注意:若通过 Docker 部署,`.env` 中的 `localhost/127.0.0.1` 指向的是容器自身,不是宿主机。此时请将地址改为宿主机可达 IP 或网关域名(例如 `host.docker.internal`,视你的 Docker 环境而定)。