refactor: config/apps 目录重组、文档重构、架构图收窄
- 中央:config/(prometheus,alertmanager,grafana)、apps/(tile-cache,topology-editor) - 边缘:config/(vmagent,blackbox,targets)、apps/(onvif-exporter) - env: TRAEFIK_PROVIDER、prometheus/env.example 详细说明 - 文档:README/doc 重构,EDGE_CACHE 合并到 EDGE_AGENT_CONFIG - targets.csv 更新流程说明,ARCHITECTURE 图收窄 Made-with: Cursor
This commit is contained in:
@@ -4,12 +4,13 @@ services:
|
||||
image: prom/prometheus:latest
|
||||
container_name: prometheus-central
|
||||
restart: unless-stopped
|
||||
mem_limit: "128m"
|
||||
ports:
|
||||
- "${PROMETHEUS_PORT:-9091}:9090"
|
||||
volumes:
|
||||
- ${PROMETHEUS_DATA_DIR:-./data/prometheus-data}:/prometheus
|
||||
- ./prometheus.yml:/etc/prometheus/prometheus.yml:ro
|
||||
- ./alert_rules.yml:/etc/prometheus/alert_rules.yml:ro
|
||||
- ./config/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro
|
||||
- ./config/prometheus/alert_rules.yml:/etc/prometheus/alert_rules.yml:ro
|
||||
command:
|
||||
- '--config.file=/etc/prometheus/prometheus.yml'
|
||||
- "--storage.tsdb.retention.time=${PROMETHEUS_RETENTION_TIME:-30d}"
|
||||
@@ -29,6 +30,7 @@ services:
|
||||
image: grafana/grafana:latest
|
||||
container_name: grafana
|
||||
restart: unless-stopped
|
||||
mem_limit: "128m"
|
||||
ports:
|
||||
- "${GRAFANA_PORT:-3000}:3000"
|
||||
environment:
|
||||
@@ -41,8 +43,8 @@ services:
|
||||
- GF_SERVER_ROOT_URL=${GRAFANA_ROOT_URL:-http://localhost:3000}
|
||||
volumes:
|
||||
- ${GRAFANA_DATA_DIR:-./data/grafana-data}:/var/lib/grafana
|
||||
- ./grafana/provisioning:/etc/grafana/provisioning
|
||||
- ./grafana/dashboards:/var/lib/grafana/dashboards
|
||||
- ./config/grafana/provisioning:/etc/grafana/provisioning
|
||||
- ./config/grafana/dashboards:/var/lib/grafana/dashboards
|
||||
labels:
|
||||
- "traefik.enable=${TRAEFIK_ENABLED:-true}"
|
||||
- "traefik.http.routers.grafana.rule=Host(`${GRAFANA_DOMAIN:-grafana.example.com}`)"
|
||||
@@ -56,10 +58,11 @@ services:
|
||||
image: prom/alertmanager:latest
|
||||
container_name: alertmanager
|
||||
restart: unless-stopped
|
||||
mem_limit: "32m"
|
||||
ports:
|
||||
- "${ALERTMANAGER_PORT:-9093}:9093"
|
||||
volumes:
|
||||
- ./alertmanager/alertmanager.yml:/etc/alertmanager/alertmanager.yml:ro
|
||||
- ./config/alertmanager/alertmanager.yml:/etc/alertmanager/alertmanager.yml:ro
|
||||
labels:
|
||||
- "traefik.enable=${TRAEFIK_ENABLED:-true}"
|
||||
- "traefik.http.routers.alertmanager.rule=Host(`${ALERTMANAGER_DOMAIN:-alertmanager.example.com}`)"
|
||||
@@ -73,6 +76,7 @@ services:
|
||||
image: victoriametrics/victoria-metrics:latest
|
||||
container_name: victoria-metrics
|
||||
restart: unless-stopped
|
||||
mem_limit: "64m"
|
||||
ports:
|
||||
- "${VICTORIAMETRICS_PORT:-8428}:8428"
|
||||
volumes:
|
||||
@@ -82,11 +86,47 @@ services:
|
||||
- "--retentionPeriod=${VICTORIAMETRICS_RETENTION_PERIOD:-30d}"
|
||||
- "--httpListenAddr=:${VICTORIAMETRICS_PORT:-8428}"
|
||||
|
||||
# GPS 标注助手(上传/下载 targets.csv,H5 采集 GPS + 天地图校验)
|
||||
topology-editor:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: apps/topology-editor/Dockerfile
|
||||
image: topology-editor:local
|
||||
container_name: topology-editor
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PORT=4080
|
||||
- TILE_CACHE_URL=http://tile-cache:4090
|
||||
ports:
|
||||
- "${TOPOLOGY_EDITOR_PORT:-4080}:4080"
|
||||
mem_limit: "128m"
|
||||
|
||||
# Traefik 反向代理(仅 TRAEFIK_PROVIDER=internal 时启动)
|
||||
traefik:
|
||||
image: traefik:v2.10
|
||||
container_name: traefik-central
|
||||
restart: unless-stopped
|
||||
profiles:
|
||||
- traefik-internal
|
||||
command:
|
||||
- "--api.insecure=true"
|
||||
- "--providers.docker=true"
|
||||
- "--providers.docker.exposedbydefault=false"
|
||||
- "--providers.docker.network=${TRAEFIK_NETWORK:-central_default}"
|
||||
- "--entrypoints.web.address=:80"
|
||||
- "--entrypoints.websecure.address=:443"
|
||||
ports:
|
||||
- "${TRAEFIK_HTTP_PORT:-80}:80"
|
||||
- "${TRAEFIK_HTTPS_PORT:-443}:443"
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
mem_limit: "64m"
|
||||
|
||||
# 天地图瓦片缓存(节省 key 免费量;可手动清空缓存后重新拉取)
|
||||
tile-cache:
|
||||
build:
|
||||
context: ..
|
||||
dockerfile: tile-cache/Dockerfile
|
||||
context: .
|
||||
dockerfile: apps/tile-cache/Dockerfile
|
||||
image: tile-cache:local
|
||||
container_name: tile-cache
|
||||
restart: unless-stopped
|
||||
@@ -100,7 +140,7 @@ services:
|
||||
- ${TILE_CACHE_DATA_DIR:-./data/tile-cache}:/cache
|
||||
ports:
|
||||
- "${TILE_CACHE_PORT:-4090}:4090"
|
||||
mem_limit: "128m"
|
||||
mem_limit: "32m"
|
||||
|
||||
|
||||
# 定义网络配置(默认使用已存在的 traefik 网络)
|
||||
|
||||
Reference in New Issue
Block a user