summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel M. Capella2018-08-02 01:02:27 -0400
committerDaniel M. Capella2018-12-04 23:05:48 -0500
commit27d83226bb7d7097c795710fb4dc616af0be6be9 (patch)
tree83fa4a3027329e5c61dd4b387636c03658954cf9
downloadaur-27d83226bb7d7097c795710fb4dc616af0be6be9.tar.gz
Initial commit
-rw-r--r--.SRCINFO27
-rw-r--r--PKGBUILD45
-rw-r--r--moonfire-nvr-git.install17
-rw-r--r--moonfire-nvr.service22
-rw-r--r--moonfire-nvr.sysusers.conf1
5 files changed, 112 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..d2a11e170f02
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,27 @@
+pkgbase = moonfire-nvr-git
+ pkgdesc = Security camera network video recorder
+ pkgver = r302.35e6891
+ pkgrel = 1
+ url = https://github.com/scottlamb/moonfire-nvr
+ install = moonfire-nvr-git.install
+ arch = x86_64
+ license = GPL3
+ makedepends = git
+ makedepends = rust
+ makedepends = yarn
+ depends = ffmpeg
+ depends = gcc-libs
+ depends = ncurses
+ depends = nodejs
+ depends = sqlite
+ provides = moonfire-nvr
+ conflicts = moonfire-nvr
+ source = git+https://github.com/scottlamb/moonfire-nvr.git
+ source = moonfire-nvr.service
+ source = moonfire-nvr.sysusers.conf
+ sha512sums = SKIP
+ sha512sums = 0214fe2f816456d85a8b2a4366feb8b22b61af8845fc4fcd90d6eb17151482bf07e890dd939d64960dd0f6dbe1c6c615d81efe68a738df40edd0007ea3c1df16
+ sha512sums = 4e5be3c260bea782e2a4b226a1a375f97e9fd2e8ec0c1f4dc32176681b50db7fc17bacb77c5f2b8ae3d49f3d400ccbda3ad25dc32832e8042807e2d61fe3f15d
+
+pkgname = moonfire-nvr-git
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..78f5417c265f
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,45 @@
+# Maintainer: Daniel M. Capella <polycitizen@gmail.com>
+
+_pkgname=moonfire-nvr
+pkgname=moonfire-nvr-git
+pkgver=r302.35e6891
+pkgrel=1
+pkgdesc='Security camera network video recorder'
+arch=('x86_64')
+url=https://github.com/scottlamb/moonfire-nvr
+license=('GPL3')
+depends=('ffmpeg' 'gcc-libs' 'ncurses' 'nodejs' 'sqlite')
+makedepends=('git' 'rust' 'yarn')
+provides=("$_pkgname")
+conflicts=("$_pkgname")
+install=$pkgname.install
+source=("git+$url.git"
+ 'moonfire-nvr.service'
+ 'moonfire-nvr.sysusers.conf')
+sha512sums=('SKIP'
+ '0214fe2f816456d85a8b2a4366feb8b22b61af8845fc4fcd90d6eb17151482bf07e890dd939d64960dd0f6dbe1c6c615d81efe68a738df40edd0007ea3c1df16'
+ '4e5be3c260bea782e2a4b226a1a375f97e9fd2e8ec0c1f4dc32176681b50db7fc17bacb77c5f2b8ae3d49f3d400ccbda3ad25dc32832e8042807e2d61fe3f15d')
+
+pkgver() {
+ cd $_pkgname
+ printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
+}
+
+build() {
+ cd $_pkgname
+ yarn
+ yarn build
+ cargo build --release
+}
+
+package() {
+ install -Dm644 -t "$pkgdir"/usr/lib/systemd/system $_pkgname.service
+ install -Dm644 $_pkgname.sysusers.conf "$pkgdir"/usr/lib/sysusers.d/$_pkgname.conf
+
+ cd $_pkgname
+ install -Dt "$pkgdir"/usr/bin target/release/$_pkgname
+ install -dm644 "$pkgdir"/usr/lib/moonfire-nvr
+ cp -R ui-dist "$pkgdir"/usr/lib/moonfire-nvr/ui
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/moonfire-nvr-git.install b/moonfire-nvr-git.install
new file mode 100644
index 000000000000..3b0ba00319fc
--- /dev/null
+++ b/moonfire-nvr-git.install
@@ -0,0 +1,17 @@
+post_install() {
+ cat << EOF
+For fresh installs, follow these steps:
+
+Create the database and sample file directory:
+$ sudo install -d -g moonfire-nvr -o moonfire-nvr /var/lib/moonfire-nvr/{,db,sample}
+$ sudo -u moonfire-nvr moonfire-nvr init
+
+Configure the database:
+$ sudo -u moonfire-nvr moonfire-nvr config 2>debug-log
+
+Start and enable the daemon:
+$ sudo systemctl enable --now moonfire-nvr
+
+More details available at <https://github.com/scottlamb/moonfire-nvr/blob/master/guide/install.md>.
+EOF
+}
diff --git a/moonfire-nvr.service b/moonfire-nvr.service
new file mode 100644
index 000000000000..c62eb8ed5542
--- /dev/null
+++ b/moonfire-nvr.service
@@ -0,0 +1,22 @@
+[Unit]
+Description=Moonfire NVR
+After=network-online.target
+
+[Service]
+ExecStart=/usr/bin/moonfire-nvr run \
+ --db-dir=/var/lib/moonfire-nvr/db \
+ --http-addr=0.0.0.0:8080
+Environment=TZ=:/etc/localtime
+Environment=MOONFIRE_FORMAT=google-systemd
+Environment=MOONFIRE_LOG=info
+Environment=RUST_BACKTRACE=1
+Type=simple
+User=moonfire-nvr
+Nice=-20
+Restart=on-abnormal
+CPUAccounting=true
+MemoryAccounting=true
+BlockIOAccounting=true
+
+[Install]
+WantedBy=multi-user.target
diff --git a/moonfire-nvr.sysusers.conf b/moonfire-nvr.sysusers.conf
new file mode 100644
index 000000000000..af48fcb399a7
--- /dev/null
+++ b/moonfire-nvr.sysusers.conf
@@ -0,0 +1 @@
+u moonfire-nvr - "Moonfire NVR user" /var/lib/moonfire-nvr