added aur/shinobi-git

This commit is contained in:
graysky 2021-09-28 17:28:20 -04:00
parent 6c90210952
commit 563beb0e59
9 changed files with 146 additions and 0 deletions

64
aur/shinobi-git/PKGBUILD Normal file
View file

@ -0,0 +1,64 @@
# Maintainer: graysky <graysky AT archlinux DOT us>
# Contributor: AlphaJack <alphajack at tuta dot io>
buildarch=28
pkgname="shinobi-git"
pkgver=r2038.04a7bae
pkgrel=2
pkgdesc="The Open Source CCTV and NVR Solution"
url="https://shinobi.video/"
license=(custom) # not free for commercial use
arch=(any)
provides=(shinobi)
depends=(ffmpeg-shinobi mariadb nodejs)
makedepends=(npm git)
source=("git+https://gitlab.com/Shinobi-Systems/Shinobi.git"
"shinobi-camera.service"
"shinobi-cron.service"
"shinobi.target"
"shinobi.sysusers"
"shinobi.tmpfiles"
"conf.json"
"super.json")
sha256sums=('SKIP'
'59b51fe6cb3dc5e7e01401b20a1a7e51f649a7fd2292ff1d2d88df2cbdff9d5b'
'9794abc97379e84fc688977e6d675d607c1136dda8a428e6c5aa8a9cfac8029c'
'60cb5660061fccae12a8ffaf4b1ee2960ab4dc8106b4b95419274a359cd9cd22'
'e7c849bfcf8619a093ec75467cf5e44b34cd3621fa0d639bfacf4c88e0bad258'
'a0213eb276dfd468ed835cccceece75da92141716afa4c2426e20a06f64b5625'
'45c64bdaf8e7c99f14a8467fc3c996fefdaab8c100c9f28f03054c248f62a7d3'
'b6f2093025736770ed18141eee36b2cd2507142310bb258bf6365c4740c9aae6')
backup=(etc/shinobi/conf.json etc/shinobi/super.json)
install=shinobi.install
options=(!strip)
pkgver(){
cd "Shinobi"
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}
package(){
# no /usr/bin, just systemd files
cd "Shinobi"
# program files
npm install --user root
install -d "$pkgdir/usr/share/shinobi"
cp -r * "$pkgdir/usr/share/shinobi"
# configuration files
install -d -m 750 "$pkgdir/etc/shinobi/"
install -D -m 660 "$srcdir/conf.json" "$pkgdir/etc/shinobi/conf.json"
install -D -m 660 "$srcdir/super.json" "$pkgdir/etc/shinobi/super.json"
ln -s "/etc/shinobi/conf.json" "$pkgdir/usr/share/shinobi"
ln -s "/etc/shinobi/super.json" "$pkgdir/usr/share/shinobi"
# systemd files
install -D -m 644 "$srcdir/shinobi-camera.service" "$pkgdir/usr/lib/systemd/system/shinobi-camera.service"
install -D -m 644 "$srcdir/shinobi-cron.service" "$pkgdir/usr/lib/systemd/system/shinobi-cron.service"
install -D -m 644 "$srcdir/shinobi.target" "$pkgdir/usr/lib/systemd/system/shinobi.target"
install -D -m 644 "$srcdir/shinobi.sysusers" "$pkgdir/usr/lib/sysusers.d/shinobi.conf"
install -D -m 644 "$srcdir/shinobi.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/shinobi.conf"
# custom license
install -D -m 644 "LICENSE.md" "$pkgdir/usr/share/licenses/shinobi/LICENSE"
# version.json is used by the web server
echo '{"Product" : "Shinobi Professional (Pro)" , "Branch" : "master" , "Version" : "'"$(git rev-parse HEAD)"'" , "Date" : "'"$(date)"'" , "Repository" : "https://gitlab.com/Shinobi-Systems/Shinobi"}' > "$pkgdir/usr/share/shinobi/version.json"
}

28
aur/shinobi-git/conf.json Normal file
View file

@ -0,0 +1,28 @@
{
"ip": "127.0.0.1",
"port": 8080,
"passwordType": "sha256",
"detectorMergePamRegionTriggers": true,
"wallClockTimestampAsDefault": true,
"streamDir": "/var/lib/shinobi/stream",
"videosDir": "/var/lib/shinobi/video",
"binDir": "/var/lib/shinobi/files",
"db": {
"host": "127.0.0.1",
"user": "majesticflame",
"password": "",
"database": "ccio",
"port":3306
},
"mail":{
"service": "gmail",
"auth": {
"user": "your_email@gmail.com",
"pass": "your_password_or_app_specific_password"
}
},
"cron":{
"key":"change_this_to_something_very_random__just_anything_other_than_thisx"
},
"pluginKeys":{}
}

View file

@ -0,0 +1,13 @@
[Unit]
Description=Shinobi server component
After=network.target
PartOf=shinobi.target
[Service]
Type=simple
User=shinobi
WorkingDirectory=/usr/share/shinobi
ExecStart=/usr/bin/node /usr/share/shinobi/camera.js
[Install]
WantedBy=shinobi.target

View file

@ -0,0 +1,13 @@
[Unit]
Description=Shinobi cleanup component
After=network.target
PartOf=shinobi.target
[Service]
Type=simple
User=shinobi
WorkingDirectory=/usr/share/shinobi
ExecStart=/usr/bin/node /usr/share/shinobi/cron.js
[Install]
WantedBy=shinobi.target

View file

@ -0,0 +1,10 @@
post_install(){
cat << INFO
Shinobi is free for personal use, read the following if you plan to use it
for commercial purpose: https://hub.shinobi.video/articles/view/QDD2cqvbTekzhar
For setup see: https://wiki.archlinux.org/title/Shinobi
INFO
}

View file

@ -0,0 +1 @@
u shinobi - "Shinobi user" /var/lib/shinobi

View file

@ -0,0 +1,7 @@
[Unit]
Description=Shinobi Open Source CCTV and NVR Solution
After=network.target
Wants=shinobi-camera.service shinobi-cron.service
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,4 @@
d /etc/shinobi 0750 root shinobi
f /etc/shinobi/conf.json 0660 root shinobi
f /etc/shinobi/super.json 0660 root shinobi
d /var/lib/shinobi 0750 shinobi shinobi

View file

@ -0,0 +1,6 @@
[
{
"mail":"admin@shinobi.video",
"pass":"21232f297a57a5a743894a0e4a801fc3"
}
]