mirror of
https://github.com/scottlamb/moonfire-nvr.git
synced 2024-12-25 06:35:56 -05:00
9349a2a164
This replaces the previous Dockerfile, which was a single stage for building and deployment. The new one is a multi-stage build. Its "dev" target has the full development environment; its "deploy" target is more slim. It supports cross-compiled builds via BuildKit, eg to prepare a build suitable for a Raspberry Pi: docker buildx build --load --platform=linux/arm64/v8 --tag=moonfire-nvr --progress=plain --target=deploy -f docker/Dockerfile . Coming next: updating the installation docs.
78 lines
2.4 KiB
TOML
78 lines
2.4 KiB
TOML
[package]
|
|
name = "moonfire-nvr"
|
|
version = "0.6.0"
|
|
authors = ["Scott Lamb <slamb@slamb.org>"]
|
|
edition = "2018"
|
|
|
|
[features]
|
|
|
|
# The nightly feature is used within moonfire-nvr itself to gate the
|
|
# benchmarks. Also pass it along to crates that can benefit from it.
|
|
nightly = ["db/nightly", "parking_lot/nightly", "smallvec/union"]
|
|
|
|
# The bundled feature includes bundled (aka statically linked) versions of
|
|
# native libraries where possible.
|
|
bundled = ["rusqlite/bundled"]
|
|
|
|
analytics = ["moonfire-tflite", "ffmpeg/swscale"]
|
|
|
|
[workspace]
|
|
members = ["base", "db"]
|
|
|
|
[dependencies]
|
|
base = { package = "moonfire-base", path = "base" }
|
|
base64 = "0.13.0"
|
|
blake3 = "0.3.7"
|
|
bytes = "0.5.3"
|
|
byteorder = "1.0"
|
|
cstr = "0.2.5"
|
|
cursive = "0.15.0"
|
|
db = { package = "moonfire-db", path = "db" }
|
|
failure = "0.1.1"
|
|
ffmpeg = { package = "moonfire-ffmpeg", git = "https://github.com/scottlamb/moonfire-ffmpeg" }
|
|
futures = "0.3"
|
|
fnv = "1.0"
|
|
h264-reader = { git = "https://github.com/dholroyd/h264-reader" }
|
|
http = "0.2.0"
|
|
http-serve = { git = "https://github.com/scottlamb/http-serve", branch = "dir", features = ["dir"] }
|
|
hyper = "0.13.0"
|
|
lazy_static = "1.0"
|
|
libc = "0.2"
|
|
log = { version = "0.4", features = ["release_max_level_info"] }
|
|
memchr = "2.0.2"
|
|
memmap = "0.7"
|
|
moonfire-tflite = { git = "https://github.com/scottlamb/moonfire-tflite", features = ["edgetpu"], optional = true }
|
|
mylog = { git = "https://github.com/scottlamb/mylog" }
|
|
nix = "0.19.0"
|
|
nom = "6.0.0"
|
|
parking_lot = { version = "0.11.1", features = [] }
|
|
protobuf = { git = "https://github.com/stepancheg/rust-protobuf" }
|
|
reffers = "0.6.0"
|
|
ring = "0.16.2"
|
|
rusqlite = "0.24.1"
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
smallvec = "1.0"
|
|
structopt = { version = "0.3.13", features = ["default", "wrap_help"] }
|
|
time = "0.1"
|
|
tokio = { version = "0.2.0", features = ["blocking", "macros", "parking_lot", "rt-threaded", "signal"] }
|
|
tokio-tungstenite = "0.11.0"
|
|
url = "2.1.1"
|
|
uuid = { version = "0.8", features = ["serde", "std", "v4"] }
|
|
|
|
[dev-dependencies]
|
|
reqwest = { version = "0.10.1", default-features = false, features = ["json"] }
|
|
tempdir = "0.3"
|
|
|
|
[profile.dev.package.scrypt]
|
|
# On an Intel i3-6100U @ 2.30 GHz, a single scrypt password hash takes 7.6
|
|
# seconds at opt-level=0, or 0.096 seconds at opt-level=2. Always optimize this
|
|
# crate to avoid seeming hung / being annoyingly slow when debugging.
|
|
opt-level = 2
|
|
|
|
[profile.release]
|
|
debug = true
|
|
|
|
[profile.bench]
|
|
debug = true
|