From 97127ce6d6d67df3182a01ba66eb9f7de957c457 Mon Sep 17 00:00:00 2001 From: Carlos Galindo Date: Wed, 13 Apr 2022 20:26:34 +0200 Subject: [PATCH] initial commit (version 1.0.5) --- .SRCINFO | 21 +++++++++++++++++++++ PKGBUILD | 43 +++++++++++++++++++++++++++++++++++++++++++ meshcentral.service | 17 +++++++++++++++++ meshcentral.sysusers | 1 + meshcentral.tmpfiles | 1 + 5 files changed, 83 insertions(+) create mode 100644 .SRCINFO create mode 100644 PKGBUILD create mode 100644 meshcentral.service create mode 100644 meshcentral.sysusers create mode 100644 meshcentral.tmpfiles diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 0000000..0ca023f --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,21 @@ +pkgbase = meshcentral + pkgdesc = Web based remote computer management server + pkgver = 1.0.5 + pkgrel = 1 + url = https://meshcentral.com + arch = any + license = Apache + depends = nodejs>10 + depends = npm + optdepends = mongodb: for larger deployments + noextract = meshcentral-1.0.5.tgz + source = meshcentral-1.0.5.tgz::https://registry.npmjs.org/meshcentral/-/meshcentral-1.0.5.tgz + source = meshcentral.service + source = meshcentral.tmpfiles + source = meshcentral.sysusers + sha256sums = dd1d132f07c486e9a53595cea05047a91f08ecbde487acc729a301fea3e79b24 + sha256sums = 339ee5927101ca2cf945c2e26a4c3d1a7af452119e67fd57c089b5fa88cbdc4e + sha256sums = 30608aab6b9b268e492506a5c230a49cc28cb47dd09b7c28c586580132ee7f7a + sha256sums = 259209675649cd7630167a3ac0af3f33836f683c031c8b47e5ccc3a1bb97aa15 + +pkgname = meshcentral diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 0000000..d4750b0 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,43 @@ +# Maintainer: Carlos Galindo +pkgname=meshcentral +pkgver=1.0.5 +pkgrel=1 +pkgdesc="Web based remote computer management server" +arch=("any") +url="https://meshcentral.com" +license=('Apache') +depends=("nodejs>10" "npm") +optdepends=("mongodb: for larger deployments") +source=("$pkgname-$pkgver.tgz::https://registry.npmjs.org/$pkgname/-/$pkgname-$pkgver.tgz" + "$pkgname.service" + "$pkgname.tmpfiles" + "$pkgname.sysusers") +sha256sums=('dd1d132f07c486e9a53595cea05047a91f08ecbde487acc729a301fea3e79b24' + '339ee5927101ca2cf945c2e26a4c3d1a7af452119e67fd57c089b5fa88cbdc4e' + '30608aab6b9b268e492506a5c230a49cc28cb47dd09b7c28c586580132ee7f7a' + '259209675649cd7630167a3ac0af3f33836f683c031c8b47e5ccc3a1bb97aa15') +noextract=("$pkgname-$pkgver.tgz") + +package() { + cd "$srcdir" + # Install systemD files + install -Dm644 "$pkgname.service" "$pkgdir/usr/lib/systemd/system/$pkgname.service" + install -Dm644 "$pkgname.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf" + install -Dm644 "$pkgname.sysusers" "$pkgdir/usr/lib/sysusers.d/$pkgname.conf" + + # Install npm package and extra dependencies that meshcentral tries to install + # on first boot + npm install --global --prefix "$pkgdir/usr/lib/$pkgname" \ + "$srcdir/$pkgname-$pkgver.tgz" \ + archiver@4.0.2 otplib@10.2.3 + # npm gives ownership of ALL FILES to build user + # https://bugs.archlinux.org/task/63396 + chown -R root:root "$pkgdir/usr/lib/$pkgname" + + # Data directories + install -dm755 "$pkgdir/var/lib/$pkgname" + install -dm750 "$pkgdir/var/lib/$pkgname/"{data,files,backup} + ln -s "../../../../var/lib/$pkgname/data" "$pkgdir/usr/lib/$pkgname/lib/$pkgname-data" + ln -s "../../../../var/lib/$pkgname/files" "$pkgdir/usr/lib/$pkgname/lib/$pkgname-files" + ln -s "../../../../var/lib/$pkgname/backup" "$pkgdir/usr/lib/$pkgname/lib/$pkgname-backup" +} diff --git a/meshcentral.service b/meshcentral.service new file mode 100644 index 0000000..e0f2745 --- /dev/null +++ b/meshcentral.service @@ -0,0 +1,17 @@ +[Unit] +Description=Web based remote computer management and file server + +[Service] +Type=simple +LimitNOFILE=1000000 +ExecStart=/usr/bin/node /usr/lib/meshcentral/lib/node_modules/meshcentral +WorkingDirectory=/var/lib/meshcentral +Environment=NODE_ENV=production +User=meshcentral +Group=meshcentral +RestartSec=10 +# Uncomment if you need to bind to ports <1024 +#AmbientCapabilities=cap_net_bind_service + +[Install] +WantedBy=multi-user.target diff --git a/meshcentral.sysusers b/meshcentral.sysusers new file mode 100644 index 0000000..1194226 --- /dev/null +++ b/meshcentral.sysusers @@ -0,0 +1 @@ +u meshcentral - "MeshCentral" /opt/meshcentral diff --git a/meshcentral.tmpfiles b/meshcentral.tmpfiles new file mode 100644 index 0000000..bd94832 --- /dev/null +++ b/meshcentral.tmpfiles @@ -0,0 +1 @@ +Z /var/lib/meshcentral - meshcentral meshcentral - -