Files
ipmi-monitor/docker-compose.dev.yml
cnbugs 84bcc56da1 fix: 开发环境使用host网络模式解决BMC网络隔离问题
- docker-compose.dev.yml: backend使用network_mode: host
- Dockerfile: 支持PORT环境变量动态设置端口
- 开发环境端口改为8003,InfluxDB地址改为localhost:8087
2026-04-23 18:39:53 +08:00

68 lines
1.9 KiB
YAML

version: "3.8"
services:
influxdb:
image: influxdb:2.7
container_name: ipmi-influxdb-dev
ports:
- "8087:8086"
volumes:
- ./data/influxdb-dev:/var/lib/influxdb2
environment:
- TZ=Asia/Shanghai
- DOCKER_INFLUXDB_INIT_MODE=setup
- DOCKER_INFLUXDB_INIT_USERNAME=${INFLUXDB_USERNAME:-admin}
- DOCKER_INFLUXDB_INIT_PASSWORD=${INFLUXDB_PASSWORD:-admin123456}
- DOCKER_INFLUXDB_INIT_ORG=${INFLUXDB_ORG:-ipmi-monitor}
- DOCKER_INFLUXDB_INIT_BUCKET=${INFLUXDB_BUCKET:-metrics}
- DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=${INFLUXDB_TOKEN}
restart: unless-stopped
healthcheck:
test: ["CMD", "influx", "ping"]
interval: 10s
timeout: 5s
retries: 10
start_period: 30s
backend:
build:
context: ./backend
dockerfile: Dockerfile
container_name: ipmi-backend-dev
network_mode: "host"
volumes:
- ./backend/app:/app/app
- ./frontend:/app/frontend
- backend-data:/app/data
environment:
- TZ=Asia/Shanghai
- PORT=8003
- INFLUXDB_URL=http://localhost:8087
- INFLUXDB_TOKEN=${INFLUXDB_TOKEN}
- INFLUXDB_ORG=${INFLUXDB_ORG:-ipmi-monitor}
- INFLUXDB_BUCKET=${INFLUXDB_BUCKET:-metrics}
- POLL_INTERVAL=${POLL_INTERVAL:-60}
- LOG_LEVEL=${LOG_LEVEL:-INFO}
- ALERT_TEMP_THRESHOLD=${ALERT_TEMP_THRESHOLD:-80}
- ALERT_FAN_THRESHOLD=${ALERT_FAN_THRESHOLD:-0}
- ALERT_POWER_THRESHOLD=${ALERT_POWER_THRESHOLD:-500}
- SMTP_HOST=${SMTP_HOST:-}
- SMTP_PORT=${SMTP_PORT:-587}
- SMTP_USER=${SMTP_USER:-}
- SMTP_PASSWORD=${SMTP_PASSWORD:-}
- ALERT_EMAIL_FROM=${ALERT_EMAIL_FROM:-}
- ALERT_EMAIL_TO=${ALERT_EMAIL_TO:-}
- WEBHOOK_URL=${WEBHOOK_URL:-}
depends_on:
influxdb:
condition: service_healthy
restart: unless-stopped
volumes:
influxdb-dev-data:
driver: local
backend-data:
driver: local
backend-dev-data:
driver: local