67 lines
1.6 KiB
Markdown
67 lines
1.6 KiB
Markdown
# app-instance
|
||
|
||
单体 app instance:一个 Docker 容器内运行前端、后端和 Nginx。这个目录只提供干净的应用实例,不再负责用户注册登录、实例编排、注册表或反向代理路由。
|
||
|
||
## 关键文件
|
||
|
||
- `Dockerfile`: 统一镜像构建入口
|
||
- `entrypoint.sh`: 容器内启动前端、后端、Nginx
|
||
- `run-standalone.sh`: 从 `.env` 读取参数,构建并运行单体容器
|
||
- `.env.example`: 可复制的部署参数模板
|
||
|
||
## Keycloak SSO
|
||
|
||
当前登录交给 Keycloak:
|
||
|
||
- issuer: `https://keycloak.bwgdi.com/realms/beaver`
|
||
- client_id: `beaver-agnet`
|
||
- flow: Authorization Code + PKCE S256
|
||
- password grant: disabled
|
||
- client secret: none
|
||
|
||
应用需要在 Keycloak client 中配置:
|
||
|
||
- `redirect_uri`: `http://<host-ip>:<host-port>/auth/callback`
|
||
- `post_logout_redirect_uri`: `http://<host-ip>:<host-port>/logout/callback`
|
||
- `web_origin`: `http://<host-ip>:<host-port>`
|
||
|
||
默认单机部署示例:
|
||
|
||
```text
|
||
redirect_uri: http://172.19.0.245:18080/auth/callback
|
||
post_logout_redirect_uri: http://172.19.0.245:18080/logout/callback
|
||
web_origin: http://172.19.0.245:18080
|
||
```
|
||
|
||
## 部署
|
||
|
||
```bash
|
||
cp .env.example .env
|
||
./run-standalone.sh --build --replace
|
||
```
|
||
|
||
脚本会输出当前需要填到 Keycloak 的 `redirect_uri`、`post_logout_redirect_uri` 和 `web_origin`。
|
||
|
||
## 数据目录
|
||
|
||
默认数据目录:
|
||
|
||
```text
|
||
runtime/standalone/beaver-home/
|
||
```
|
||
|
||
容器内挂载到:
|
||
|
||
```text
|
||
/root/.beaver/
|
||
```
|
||
|
||
并设置:
|
||
|
||
```text
|
||
BEAVER_CONFIG_PATH=/root/.beaver/config.json
|
||
BEAVER_WORKSPACE=/root/.beaver/workspace
|
||
```
|
||
|
||
模型 provider、API key、workspace 数据都在这个目录下维护。
|