Files
urbanLifeline/docker/urbanLifeline
2026-01-08 16:16:06 +08:00
..
2026-01-08 16:16:06 +08:00
2026-01-02 16:18:32 +08:00
2026-01-08 15:38:33 +08:00
2026-01-08 16:16:06 +08:00
2026-01-02 14:56:14 +08:00
2026-01-02 15:18:07 +08:00
2026-01-02 14:56:14 +08:00

Urban Lifeline Docker 部署 (All-in-One)

目录结构

docker/urbanLifeline/
├── .env.example          # 环境变量示例
├── Makefile              # 快捷命令
├── README.md             # 本文档
├── serv/                 # 后端服务
│   ├── build.sh          # 构建脚本
│   ├── Dockerfile.base   # 基础镜像
│   ├── Dockerfile.serv   # 服务镜像
│   └── service-manager.sh # 服务管理脚本
└── web/                  # 前端应用
    ├── build.sh          # 构建脚本
    ├── Dockerfile.web    # 前端镜像
    └── web-manager.sh    # 前端管理脚本

服务端口

后端服务 (urban-lifeline-serv)

服务 端口 说明
gateway 8080 API 网关
auth 8081 认证服务
system 8082 系统服务
log 8083 日志服务
file 8084 文件服务
message 8085 消息服务
crontab 8086 定时任务
bidding 8087 招标服务
workcase 8088 工单服务
platform 8089 平台服务
ai 8090 AI 服务

前端应用 (urban-lifeline-web)

应用 端口 说明
shared 8000 公共模块 (Module Federation)
platform 8001 管理平台
workcase 8002 工单系统 PC
bidding 8003 招标系统
workcase_wechat 8004 工单微信端

快速开始

1. 准备环境变量

cd docker/urbanLifeline
cp .env.example .env
# 编辑 .env 配置

2. 构建镜像

# 构建后端 (需先编译 Java)
cd urbanLifelineServ && mvn clean package -DskipTests
cd docker/urbanLifeline && make build-serv

# 构建前端 (需先构建前端)
cd urbanLifelineWeb && pnpm build
cd docker/urbanLifeline && make build-web

3. 启动服务

make up

4. 管理服务

# 查看状态
make status

# 重启单个后端服务
make restart-serv SERVICE=gateway

# 重启单个前端站点
make restart-web SITE=platform

# 查看日志
make logs

配置外挂

容器支持配置外挂,可在运行时覆盖默认配置:

后端配置目录结构

volumes/config/serv/
├── gateway.yml          # gateway 服务配置
├── system.yml           # system 服务配置
├── auth.yml             # auth 服务配置
├── file.yml             # file 服务配置
├── log.yml              # log 服务配置
├── message.yml          # message 服务配置
├── crontab.yml          # crontab 服务配置
├── ai.yml               # ai 服务配置
├── bidding.yml          # bidding 服务配置
├── platform.yml         # platform 服务配置
└── workcase.yml         # workcase 服务配置

每个服务的配置文件会通过 spring.config.additional-location 加载,覆盖 JAR 包内的默认配置。

前端配置

volumes/config/web/
├── env.js               # 运行时环境变量
└── config.json          # 应用配置

依赖服务

确保以下基础设施服务已启动:

  • Nacos (服务注册/配置中心)
  • PostgreSQL (数据库)
  • Redis (缓存)
  • MinIO (对象存储)

通过 docker compose --profile infra up -d 启动基础设施。