Files
wecom_it_smart_desk/docs/09-部署运维/class-diagram.mermaid
T

94 lines
2.6 KiB
Plaintext
Raw Normal View History

%% IT 智能服务台 — 架构组件图(卷挂载重构前后对比)
%% 文件: class-diagram.mermaid
classDiagram
class HostServer {
+String path: /opt/wecom-it-desk/
+String ip: 10.90.5.110
+String domain: itsupport.servyou.com.cn
}
class AppDirectory {
+String path: /opt/wecom-it-desk/app/
+String role: 唯一代码源
+List~File~ pythonFiles
+Boolean hasAuthPy
}
class BackendDirectory {
+String path: /opt/wecom-it-desk/backend/
+File dockerfile
+File requirementsTxt
+String note: 不再包含 app/ 子目录
}
class DockerImage {
+String name: wecom-it-desk-backend:latest
+String base: python:3.12-slim
+String pythonVersion: 3.12
+Boolean containsCode: false
+Boolean containsDeps: true
+String envPythondontWriteBytecode: "1"
}
class DockerContainer {
+String name: wecom_it_backend
+String workdir: /app
+String command: uvicorn app.main:app
+Integer port: 8000
+Boolean healthy
}
class VolumeMount {
+String hostPath: /opt/wecom-it-desk/app/
+String containerPath: /app/app/
+String type: bind
+String mode: rw
}
class UploadVolume {
+String name: backend-uploads
+String containerPath: /app/uploads/
+String type: named_volume
}
class LogMount {
+String hostPath: /var/log/wecom-it-desk/
+String containerPath: /app/logs/
+String type: bind
}
class DockerCompose {
+String file: docker-compose.yml
+String buildContext: ./backend
+List~Service~ services
}
class HealthCheck {
+String endpoint: /health
+Integer interval: 30
+Integer timeout: 10
+Integer retries: 3
+Integer startPeriod: 40
}
HostServer --> AppDirectory : contains
HostServer --> BackendDirectory : contains
HostServer --> DockerCompose : contains
DockerCompose --> DockerImage : builds
DockerCompose --> DockerContainer : runs
DockerCompose --> VolumeMount : configures
DockerCompose --> UploadVolume : configures
DockerCompose --> LogMount : configures
DockerImage --> DockerContainer : basis for
VolumeMount --> DockerContainer : mounts code to /app/app/
UploadVolume --> DockerContainer : mounts uploads to /app/uploads/
LogMount --> DockerContainer : mounts logs to /app/logs/
AppDirectory --> VolumeMount : source of
DockerContainer --> HealthCheck : monitored by
BackendDirectory --> DockerImage : provides Dockerfile + requirements.txt