blob: 623770d89516219f7cd9070d87231d609a99065d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
# Maintainer: Moses Narrow <moe_narrow@use.startmail.com>
projectname=pterodactyl
pkgname=pterodactyl-daemon
pkgname1=daemon
githuborg=pterodactyl
pkgdesc="Open-source server control and management daemon for pterodactyl-panel."
pkgver=0.6.12
pkgpath="github.com/${githuborg}/${pkgname1}"
pkgrel=4
arch=('any')
url="https://${pkgpath}"
license=()
makedepends=()
#https://pterodactyl.io/community/installation-guides/daemon/debian10.html#server-configuration
depends=(docker nodejs-lts-dubnium npm53)
source=("${url}/releases/download/v${pkgver}/${pkgname1}.tar.gz")
sha256sums=('aef507f4b9f1272b678cf8b23c0cf0db58d1bba4e8a02d6744018f63db4ff66a')
build() {
mkdir -p ${srcdir}/npm-cache
echo -e "[Unit]
Description=Pterodactyl Wings Daemon
After=docker.service
[Service]
User=root
#Group=some_group
WorkingDirectory=/srv/daemon
LimitNOFILE=4096
PIDFile=/var/run/wings/daemon.pid
ExecStart=/usr/bin/node /srv/daemon/src/index.js
Restart=on-failure
StartLimitInterval=600
[Install]
WantedBy=multi-user.target
" > ${srcdir}/wings.service
echo -e '#!/bin/bash
#launch pterodactyl daemon
cd /srv/daemon
sudo npm start
' > ${srcdir}/${pkgname}.sh
chmod +x ${srcdir}/${pkgname}.sh
echo -e "#!/usr/bin/bash
#set up pterodactyl daemon config.json
sudo nano /srv/daemon/config/core.json" > ${srcdir}/${pkgname}-config.sh
chmod +x ${srcdir}/${pkgname}-config.sh
}
package() {
#https://pterodactyl.io/daemon/getting_started.html#download-files
mkdir -p ${pkgdir}/usr/bin/
mkdir -p ${pkgdir}/usr/lib/systemd/system/
mkdir -p ${pkgdir}/srv/${pkgname1}/npm-cache
mkdir -p ${pkgdir}/srv/${pkgname1}-data
# See https://github.com/npm/npm/issues/9359 for details.
cd ${pkgdir}/srv/${pkgname1}
tar --strip-components=1 -xzvf ${srcdir}/${pkgname1}.tar.gz
#npm install --cache "${srcdir}/npm-cache" -g --user root --prefix ${pkgdir}/srv/${pkgname1} ${srcdir}/${pkgname1}.tar.gz #"$pkgdir"/usr # Non-deterministic race in npm gives 777 permissions to random directories.
npm install --only=production --user root #--cache "${srcdir}/npm-cache" -g #--prefix ${pkgdir}/srv/${pkgname1} #${srcdir}/${pkgname1}.tar.gz #"$pkgdir"/usr # Non-deterministic race in npm gives 777 permissions to random directories.
#npm install --cache "${srcdir}/npm-cache" --only=production -g --user root --prefix ${pkgdir}/srv/${pkgname1} shs2 ssh2-streams chokidar mmagic fsevents
find "${pkgdir}"/srv/${pkgname1} -type d -exec chmod 755 {} +
# npm gives ownership of ALL FILES to build user
chown -R root:root "$pkgdir"
# https://bugs.archlinux.org/task/63396
#install scripts & systemd service
install -Dm755 ${srcdir}/${pkgname}.sh ${pkgdir}/srv/${pkgname1}/${pkgname}.sh
ln -rTsf ${pkgdir}/srv/${pkgname1}/${pkgname}.sh ${pkgdir}/usr/bin/${pkgname}
install -Dm755 ${srcdir}/${pkgname}-config.sh ${pkgdir}/srv/${pkgname1}/${pkgname}-config.sh
ln -rTsf ${pkgdir}/srv/${pkgname1}/${pkgname}-config.sh ${pkgdir}/usr/bin/${pkgname}-config
install -Dm644 ${srcdir}/wings.service ${pkgdir}/usr/lib/systemd/system/
}
|