Files
2026-01-08 17:59:07 +08:00
..
2026-01-08 17:59:07 +08:00
2026-01-02 14:55:57 +08:00
2026-01-02 14:55:57 +08:00
2026-01-02 14:55:57 +08:00
2026-01-08 16:16:06 +08:00
2025-12-28 18:30:17 +08:00
2025-12-28 18:30:17 +08:00
2026-01-02 14:56:14 +08:00
2025-12-28 18:30:17 +08:00
2025-12-28 18:30:17 +08:00
2025-12-28 18:30:17 +08:00
2025-12-28 18:30:17 +08:00
2026-01-02 14:56:14 +08:00

Urban Lifeline Docker 部署指南

目录结构

docker/
├── docker-compose.yml          # 总控 compose 文件
├── Makefile                    # 构建管理脚本
├── .env.example                # 环境变量模板
├── README.md                   # 本文档
│
├── infra/                      # Level 1: 基础设施
│   └── docker-compose.yml      # Nacos, MinIO, Jitsi Meet
│
├── urbanLifeline/
│   ├── serv/                   # Level 2: 后端服务
│   │   ├── docker-compose.yml
│   │   ├── Dockerfile.base     # 基础镜像
│   │   ├── Dockerfile.template # 服务镜像模板
│   │   └── start.sh            # 启动脚本
│   │
│   └── web/                    # Level 3: 前端服务
│       ├── docker-compose.yml
│       ├── Dockerfile
│       └── nginx/              # Nginx 配置
│           ├── nginx.conf
│           └── conf.d/
│
├── dify/                       # Dify AI 平台(独立管理)
│   └── docker-compose.yaml
│
├── volumes/                    # 数据卷目录
│   ├── nacos/
│   ├── minio/
│   ├── jitsi/
│   └── logs/
│
└── output/                     # 镜像导出目录

快速开始

1. 准备环境

# 复制环境变量配置
cp .env.example .env

# 编辑配置(根据实际环境修改)
vim .env

2. 编译项目

# 编译所有后端服务
make compile-serv

# 编译所有前端项目
make compile-web

# 或者一次性编译所有
make full-build

3. 构建镜像

# 构建基础镜像(首次需要)
make build-base

# 构建所有镜像
make build-all

# 或者单独构建
make build-gateway
make build-system
make build-web

4. 启动服务

# 启动所有服务
make up

# 或者分层启动
make up-infra    # 先启动基础设施
make up-serv     # 再启动后端服务
make up-web      # 最后启动前端

5. 查看状态

# 查看服务状态
make status

# 查看日志
make logs

# 查看特定服务日志
docker compose logs -f gateway

服务层级

Level 1: 基础设施 (infra)

  • Nginx: 反向代理 + 前端静态资源 (80/443)
  • Nacos: 服务注册与配置中心 (8848)
  • MinIO: 对象存储服务 (9000/9001)
  • Jitsi Meet: 视频会议服务 (8280)

Level 2: 后端服务 (serv)

启动顺序: gateway → system → file → auth → ai → workcase

服务 端口 说明
gateway 8080 API 网关
system 8082 系统服务
file 8084 文件服务
auth 8081 认证服务
ai 8090 AI 服务
workcase 8088 工单服务

Level 3: 前端应用 (web)

前端静态资源已打包到 Nginx 镜像中,由 infra 层的 Nginx 服务提供:

  • /platform - 管理平台
  • /workcase - 工单系统

常用命令

# 构建
make build-all          # 构建所有镜像
make build-gateway      # 构建单个服务

# 运行
make up                 # 启动所有
make up-infra           # 只启动基础设施
make down               # 停止所有

# 导出
make save-all           # 导出所有镜像
make save-gateway       # 导出单个镜像

# 清理
make clean              # 清理构建产物
make clean-images       # 清理 Docker 镜像

单独管理子服务

每个子目录都有独立的 docker-compose.yml可以单独管理

# 只管理基础设施
cd infra
docker compose up -d nacos
docker compose logs -f nacos

# 只管理后端服务
cd urbanLifeline/serv
docker compose up -d gateway
docker compose restart system

镜像导出与部署

# 导出所有镜像
make save-all

# 镜像文件在 output/ 目录
ls -la output/

# 在目标服务器加载镜像
docker load -i urban-lifeline-gateway_20251228_120000.tar
docker load -i urban-lifeline-web_20251228_120000.tar

注意事项

  1. 首次部署需要先构建基础镜像: make build-base
  2. MySQL 需要在宿主机或单独容器中运行,配置 MYSQL_HOST
  3. Dify 有独立的 docker-composedify/ 目录单独管理
  4. 修改 .env 后需要重启服务才能生效
  5. 生产环境建议配置 SSL 证书