name: inspect-nvr services: inspect-nvr: platform: linux/amd64 build: context: . dockerfile: Dockerfile args: FFMPEG_IMAGE: ${FFMPEG_IMAGE:-docker.1ms.run/mwader/static-ffmpeg:6.1} MAVEN_MIRROR_URL: ${MAVEN_MIRROR_URL:-https://maven.aliyun.com/repository/public} image: inspect-nvr:local container_name: inspect-nvr-app restart: unless-stopped environment: TZ: ${TZ:-Asia/Shanghai} SPRING_PROFILES_ACTIVE: docker SERVER_PORT: 8081 DB_URL: ${DB_URL:?DB_URL_required_in_.env} DB_USERNAME: ${DB_USERNAME:?DB_USERNAME_required_in_.env} DB_PASSWORD: ${DB_PASSWORD:?DB_PASSWORD_required_in_.env} FFMPEG_PATH: /usr/bin/ffmpeg ZLM_RTMP_BASE_URL: ${ZLM_RTMP_BASE_URL:?remote_ZLM_RTMP_BASE_URL_required_in_.env} ZLM_HTTP_BASE_URL: ${ZLM_HTTP_BASE_URL:?remote_ZLM_HTTP_BASE_URL_required_in_.env} # 服务端调用 ZLMediaKit API 校验实时流是否注册;未配置时实时预览会直接返回配置错误。 ZLM_API_SECRET: ${ZLM_API_SECRET:-} # 实时预览参数。注意:Compose 只把这里显式列出的变量传入容器,写在 .env 里但没在这里 # 列出的 HIK_NVR_* 变量不会生效。默认值与 application.yml 保持一致,且必须非空, # 否则 Spring 会把空字符串绑定到整型配置导致启动失败。 # 单台 NVR 允许同时播放的实时流上限(现场实测部分 NVR 只给 1 路),0 表示不限制。 HIK_NVR_LIVE_MAX_SESSIONS_PER_NVR: ${HIK_NVR_LIVE_MAX_SESSIONS_PER_NVR:-8} HIK_NVR_LIVE_MAX_ATTEMPTS: ${HIK_NVR_LIVE_MAX_ATTEMPTS:-3} HIK_NVR_LIVE_STOP_GRACE_MILLIS: ${HIK_NVR_LIVE_STOP_GRACE_MILLIS:-2000} HIK_NVR_LIVE_IDLE_REAP_ENABLED: ${HIK_NVR_LIVE_IDLE_REAP_ENABLED:-true} HIK_NVR_LIVE_IDLE_READER_TIMEOUT_MILLIS: ${HIK_NVR_LIVE_IDLE_READER_TIMEOUT_MILLIS:-600000} # 实时预览优先直连摄像机取流(CVR 等设备远程转发额度小,直连可绕开该瓶颈)。 HIK_NVR_LIVE_PREFER_CAMERA_DIRECT: ${HIK_NVR_LIVE_PREFER_CAMERA_DIRECT:-true} HIK_NVR_LIVE_CAMERA_RTSP_PORT: ${HIK_NVR_LIVE_CAMERA_RTSP_PORT:-554} # 同一 IP 多通道相机(双光谱)的相机内通道顺序:asc / desc。 HIK_NVR_LIVE_CAMERA_CHANNEL_ORDER: ${HIK_NVR_LIVE_CAMERA_CHANNEL_ORDER:-asc} JAVA_TOOL_OPTIONS: ${JAVA_TOOL_OPTIONS:--XX:+UseContainerSupport -XX:MaxRAMPercentage=75.0 -Dfile.encoding=UTF-8 -Djava.security.egd=file:/dev/./urandom -Djava.library.path=/app/lib:/app/lib/HCNetSDKCom:/app/lib/linux64} REDIS_HOST: ${REDIS_HOST:?REDIS_HOST_required_in_.env} REDIS_PORT: ${REDIS_PORT:-6379} REDIS_PASSWORD: ${REDIS_PASSWORD:-} REDIS_DATABASE: ${REDIS_DATABASE:-0} ports: - "${BIND_ADDRESS:-0.0.0.0}:${APP_PORT:-8081}:8081" volumes: - app_logs:/data/logs - app_sdk_logs:/app/sdkLog - app_dahua_sdk_logs:/app/sdklog - app_images:/app/images - app_runtime:/app/target networks: - inspect-nvr networks: inspect-nvr: name: inspect-nvr volumes: app_logs: app_sdk_logs: app_dahua_sdk_logs: app_images: app_runtime: