ptr727 / nxwitness Goto Github PK
View Code? Open in Web Editor NEWDocker Projects for Network Optix VMS Products
License: MIT License
Docker Projects for Network Optix VMS Products
License: MIT License
Using podman as a user to run docker.io/ptr727/dwspectrum
as a rootless container results in a container that doesn't continue to run, unlike the docker.io/ptr727/dwspectrum-lsio
image. This is on a Debian Bullseye (Testing) host with podman 3.0.1.
Podman run command:
podman run --cgroups=no-conmon --detach --pull=always --log-driver=journald --log-opt tag=dwspectrum --name=dwspectrum --env TZ=Americas/Detroit --hostname=watchdog --dns-search=subly.me --publish 7001:7001 --volume /tank/enc/dwspectrum/config:/config --volume /tank/enc/dwspectrum/media:/media --volume /tank/enc/dwspectrum/archive:/archive docker.io/ptr727/dwspectrum:4.2.0.32660
The above command was run by a user. I ran the same command as root (rootful container) but didn't notice different behavior. The container still did not continue to run in the background after issuing the command.
I've resorted to using the dwspectrum-lsio
image which works but I'm curious why the non-LSIO image doesn't continue to run.
Changing M4 files does not rebuild, reports no changes.
Copy all output files does not trigger, reports no changes.
Add docker cleanup in clean task.
See: badges/shields#8188
Possible solution, use one build for all three tags.
May require dynamically creating the matrix file as a pre-build step.
I followed the docker compose script, container is running but not accessible via local address ending in 10.10.x.x:7001
Icon URL's for unRAID templates are broken because the main branch was changed from "master" to "main". For example:
https://github.com/ptr727/NxWitness/raw/master/Unraid/DWLogo.png
Should be:
https://github.com/ptr727/NxWitness/raw/main/Unraid/DWLogo.png
#8 14.76 Created symlink /etc/systemd/system/multi-user.target.wants/systemd-resolved.service → /lib/systemd/system/systemd-resolved.service.
#8 14.77 ln: failed to create symbolic link '/etc/resolv.conf': Device or resource busy
#8 14.77 Created symlink /etc/systemd/system/multi-user.target.wants/ondemand.service → /lib/systemd/system/ondemand.service.
#8 14.77 Created symlink /etc/systemd/system/sysinit.target.wants/systemd-pstore.service → /lib/systemd/system/systemd-pstore.service.
#8 14.78 Initializing machine ID from random generator.
#8 15.02 Setting up networkoptix-metavms-mediaserver (4.3.0) ...
#8 15.09 Detected runtime type: docker.
#8 15.09 System has not been booted with systemd as init system (PID 1). Can't operate.
#8 15.09 Failed to connect to bus: Host is down
#8 15.09 System has not been booted with systemd as init system (PID 1). Can't operate.
#8 15.09 Failed to connect to bus: Host is down
#8 15.16 sysctl: setting key "kernel.core_pattern": Read-only file system
#8 15.17 dpkg: error processing package networkoptix-metavms-mediaserver (--configure):
#8 15.17 installed networkoptix-metavms-mediaserver package post-installation script subprocess returned error exit status 255
#8 15.17 Processing triggers for libc-bin (2.31-0ubuntu9.2) ...
#8 15.19 Errors were encountered while processing:
#8 15.19 networkoptix-metavms-mediaserver
#8 15.20 E: Sub-process /usr/bin/dpkg returned an error code (1)
#8 ERROR: executor failed running [/bin/sh -c apt-get update && apt-get install --no-install-recommends --yes ./vms_server.deb && apt-get clean && apt-get autoremove --purge && rm -rf /var/lib/apt/lists/* && rm -rf ./vms_server.deb]: exit code: 100
------
> [5/7] RUN apt-get update && apt-get install --no-install-recommends --yes ./vms_server.deb && apt-get clean && apt-get autoremove --purge && rm -rf /var/lib/apt/lists/* && rm -rf ./vms_server.deb:
------
Dockerfile:62
--------------------
61 | # Install the mediaserver
62 | >>> RUN apt-get update \
63 | >>> && apt-get install --no-install-recommends --yes \
64 | >>> ./vms_server.deb \
65 | >>> && apt-get clean \
66 | >>> && apt-get autoremove --purge \
67 | >>> && rm -rf /var/lib/apt/lists/* \
68 | >>> && rm -rf ./vms_server.deb
69 |
--------------------
error: failed to solve: rpc error: code = Unknown desc = executor failed running [/bin/sh -c apt-get update && apt-get install --no-install-recommends --yes ./vms_server.deb && apt-get clean && apt-get autoremove --purge && rm -rf /var/lib/apt/lists/* && rm -rf ./vms_server.deb]: exit code: 100
Error: buildx call failed with: error: failed to solve: rpc error: code = Unknown desc = executor failed running [/bin/sh -c apt-get update && apt-get install --no-install-recommends --yes ./vms_server.deb && apt-get clean && apt-get autoremove --purge && rm -rf /var/lib/apt/lists/* && rm -rf ./vms_server.deb]: exit code: 100
Error appears to be in NxMeta 4.3 Beta.
Reverting to Bionic / 18.04 resolves the error.
Switch to Focal / 20.04 when upstream error is resolved.
I have been using this container for some home recording/testing and though I'd have a play with the Open Vino plugin but unfortunately the system/plugin folders aren't exposed. Would it be possible to add them as a volume please?
Hi, thank you a lot for the NXWitness Docker images. I noted that for the latest stable release "5.1.3.38363" of 11 March 2024 no Docker images are created. Again thanks for your work.
Publishing of stable
labels to docker images are temporarily disabled.
The problem scenario:
stable
tag was added to 4.2
versioned releases in docker.5.0
to "released" status. (per my interpretation of the data)stable
tag was added to the 5.0
versioned releases in docker.4.2
the "released" version.4.2
to 5.0
is a Nx supported scenario, downgrading from 5.0
to 4.2
is not a Nx supported scenario.stable
tag would have automatically upgraded their 4.2
build to the 5.0
build.stable
tag cannot be re-applied to the 4.2
builds.Publishing of stable
labels will resume when 5.0
is again promoted to a "released" status.
P.s. Refer to best practices and use case studies for "fix forward vs. roll back".
I've been playing around to see whether the licensing issue really is an issue.
What I've tried:
To test if the license would break, I would activate a trial license and note down the HWID.
And then verify if the HWID changed or the trial license got deactivated.
Which never happened ... everything kept working perfect.
So what WILL make the nxwitness in docker setup make things go bad?
I don't want to have any issues with licences.
Please note, I do setup a fixed mac-address in docker-compose:
version: "3"
services:
nx-witness:
container_name: nx-witness
image: 'thehomerepot/nxwitness:latest'
restart: unless-stopped
environment:
TZ: "Europe/Brussels"
volumes:
- /opt/networkoptix/config:/config
- /opt/networkoptix/recordings:/archive
mac_address: "AA:BB:CC:DD:EE:FF" # something real ...
ports:
- "7001:7001"
Access to plugin directory - password required
Steps to reproduce:
New Testinstallation - no changes
Install Plugins in
/opt/networkoptix/mediaserver/bin/plugins and /opt/networkoptix/mediaserver/bin/plugins_optinal need a passwort
Configuration:
Synology Docker
NX 5.1.2.37996
With NX-LSIO, the release for the other file systems does not work for me (fuse.shfs,btrfs,zfs)
Hello
only an Info
Installing on Synology DS916+, RS2818RP+, DS1621+.
On DS916+ all ok
On RS2818RP+ and DS1621+ no databas, archive, media
Synology.txt
.
Hi,
It seems that I'm having an issue where the docker uses the /config/HD Witness Media directory to store recordings.
My understanding is that it should be saving the files in /media.
Under storage Locations, it only displays the /config/HD Witness Media directory as a storage location.
/config/HD Witness Media Info
Server
Type
Server
local
State
Status
Issues (24h)
Online
_
Activity
Read Rate
Write Rate
Transactions/s
0 Mbit/s
0 Mbit/s
0 Tr/s
Space
Total
VMS Media(%)
VMS Media
21991 GB
0 %
0 GB
I am using the lsio:
docker run -d \
--name=nxWitness \
--restart=unless-stopped \
--net=host \
-e PUID=1030 -e PGID=101 \
-e TZ=America/New York \
-v /volume2/docker/nxwitness:/config \
-v /volume1/DVR:/media \
ptr727/nxwitness-lsio
Discovered another rebranded VMS Wave VMS aka Hanwha Vision.
And JSON releases
This is not really an issue with the container, but I have spent a good amount of time before I could figure it out and I thought I'd leave it here in case someone else run into the same issue. And I'm not sure how to make proper pull requests/working with Github overall.
I use a separate NAS (Synology) for media storage, and the Docker host is a Debian VM. So what I did was to mount the file share in the docker host via SMB. And then bind mount that into the container at /media. This worked, kind of. But there was a generic storage error message constantly popping up. And I could tell that some of the analytics data (motion tracking, metadata etc) was nowhere to be found, even if the video files got saved to the NAS.
So in order for the analytics db to work, you have to mount the NAS folder using NFS in the container using a volume. Here is my compose config:
services: nxwitness: <<: *common-keys-core image: docker.io/ptr727/nxwitness-lsio:stable container_name: nxwitness restart: unless-stopped network_mode: host environment: <<: *default-tz-puid-pgid volumes: - /opt/docker/data/nxwitness/config:/config - nxwitness-vol:/media volumes: nxwitness-vol: driver_opts: type: "nfs" o: "addr=10.180.10.22,nfsvers=4" device: ":/volume1/nxwitness-meta"
Now you can configure /media as a location for analytics data. It will warn about it being a local path but that warning can be ignored.
Can you help me get the Unraid share to show up in DW. I have tried for 2 days now and i cant seem to get it done.
Thanks
docker pull ptr727/nxmeta-lsio:latest
latest: Pulling from ptr727/nxmeta-lsio
no matching manifest for linux/arm64/v8 in the manifest list entries
no support for ARM version.
the official NxMeta installer download page, it has arm version
https://meta.nxvms.com/download/arm
how to update ptr727/nxmeta-lsio to support ARM devices likewise in the official NxMeta software
Builds keep failing due to posting to GHCR failing.
Seems to be a GitHub Actions or GHCR networking issue.
See post in GitHub Community.
Disabling posting to GHCR until issue is permanently resolved.
Nx's publishing of information to their releases JSON API is not currently considered reliable enough for hands off automation.
Only the develop
branch will use online version information from the CreateMatrix
utility at build time.
The main
branch still relies on the static Version.json
file I manually curate and test, when observing version changes via VisualPing.
I will enable online updates for the main
branch when I am confident in the CreateMatrix
and releases.json
logic.
Examples of problems:
v5
to stable, then removed v5
and reverted v4
back to stable, this breaks the stable
tag logic as Nx does not support downgrades.releases.json
file is not reliable. e.g. on occasion it would contain raw error messages instead of JSON:
This XML file does not appear to have any style information associated with it. The document tree is shown below. ...
{"resultCode":500,"errorText":"Unexpected error somewhere inside"}
Currently using dwspectrum-lsio:5.1.3.38363
Volume is /home/me/dwspectrum/config:/config
When I replace the default.pem file with my own certificate in /home/me/dwspectrum/config/var/ssl and restart the container, the container generates a new self-signed certificate overwriting my custom default.pem. Anyway to make my custom ssl certificate stick?
We all wish that NXW wouldn't use MAC address for licensing, but until they catch up with containerization, there's a pretty straightforward way to fix this, even on kubernetes.
This requires NET_ADMIN on kubernetes, but at least doesn't require host networking.
Hallo
beim Aufsetzen eines neuen Containers sind keine Daten im config und media Verzeichnis.
Haben sich diese geändert - und wenn ja wohin?
Danke
I am not affiliated with Network Optix, I cannot provide support for their products, please contact Network Optix Support for product support issues.
If the issue is verifiably related to the Dockerfile
or build scripts, please continue, and provide as much information as possible.
According to the release notes version 5.0.0.35745 was published 12 Oct 2022. Would it be possible to get builds for that newer version?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.