You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

68 lines
3.3 KiB

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}
# 台账 channel_type=ir(热成像)对应的相机内通道号:默认 2(1=可见光、2=热成像)。
HIK_NVR_LIVE_IR_CAMERA_CHANNEL: ${HIK_NVR_LIVE_IR_CAMERA_CHANNEL:-2}
# 同一 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: