diff options
author | Daniel M. Capella | 2018-08-02 01:02:27 -0400 |
---|---|---|
committer | Daniel M. Capella | 2018-12-04 23:05:48 -0500 |
commit | 27d83226bb7d7097c795710fb4dc616af0be6be9 (patch) | |
tree | 83fa4a3027329e5c61dd4b387636c03658954cf9 | |
download | aur-27d83226bb7d7097c795710fb4dc616af0be6be9.tar.gz |
Initial commit
-rw-r--r-- | .SRCINFO | 27 | ||||
-rw-r--r-- | PKGBUILD | 45 | ||||
-rw-r--r-- | moonfire-nvr-git.install | 17 | ||||
-rw-r--r-- | moonfire-nvr.service | 22 | ||||
-rw-r--r-- | moonfire-nvr.sysusers.conf | 1 |
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 |