You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I think it's possible to produce a moonfire-nvr Linux binary that has no dependencies except tzdata and any remotely recent version of glibc. (Or we could try going absolutely statically linked with musl, but then we might also need to bring in jemalloc for decent performance, etc.)
We'd likely still use Docker for the build but have install instructions that don't require either Docker or compilation.
Stop using ffmpeg entirely. (pure Rust RTSP client library #37 Retina is working for me but we should work out some more camera compatibility problems before removing ffmpeg.)
Likely compile the UI into the binary, although continue to support --ui-dir for development.
Update release procedure to create binaries on GitHub release instead of / in addition to Docker images.
Caveat: on-NVR analytics support will likely be a separate binary that won't be so easy to make zero-dependency. We need to continue using ffmpeg or some other library for H.264 decoding, we'll likely depend on TensorFlow Lite, etc. But I think there's still value anyway in having the core system be super easy to install. Docker is its own pile of complexity for users to deal with.
The text was updated successfully, but these errors were encountered:
todo:
[ ] some manual testing with content negotiation, etags, etc.
[ ] build on CI with both configurations
[ ] use it on release builds
Bundling UI files is a step toward #160.
This is optional but now enabled for release builds.
Why?
* It shrinks the release docker images a bit, as the binary
includes only the gzipped version of files and uncompressed into RAM
at startup (which should be fast).
* It's a step toward #160.
This is optional but now enabled for release builds.
Why?
* It shrinks the release docker images a bit, as the binary
includes only the gzipped version of files and uncompressed into RAM
at startup (which should be fast).
* It's a step toward #160.
I think it's possible to produce a
moonfire-nvr
Linux binary that has no dependencies except tzdata and any remotely recent version of glibc. (Or we could try going absolutely statically linked with musl, but then we might also need to bring in jemalloc for decent performance, etc.)We'd likely still use Docker for the build but have install instructions that don't require either Docker or compilation.
cross
also supports using an old CentOS / glibc 2.17 container or possibly linking with zig.]--ui-dir
for development.Caveat: on-NVR analytics support will likely be a separate binary that won't be so easy to make zero-dependency. We need to continue using ffmpeg or some other library for H.264 decoding, we'll likely depend on TensorFlow Lite, etc. But I think there's still value anyway in having the core system be super easy to install. Docker is its own pile of complexity for users to deal with.
The text was updated successfully, but these errors were encountered: