user/wikijs: new aport
This commit is contained in:
parent
1c7eeb3dce
commit
bdb37e35ee
5 changed files with 135 additions and 0 deletions
60
user/wikijs/APKBUILD
Normal file
60
user/wikijs/APKBUILD
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
|
||||||
|
# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
|
||||||
|
|
||||||
|
pkgname=wikijs
|
||||||
|
pkgver=2.5.303
|
||||||
|
pkgrel=0
|
||||||
|
pkgdesc="Wiki.js | A modern, lightweight and powerful wiki app built on Node.js"
|
||||||
|
license="AGPL-3.0"
|
||||||
|
arch="!armv7 x86_64"
|
||||||
|
options="!check" # No test suite
|
||||||
|
depends="
|
||||||
|
libcap-setcap
|
||||||
|
nodejs>=10.12.0
|
||||||
|
postgresql
|
||||||
|
python3
|
||||||
|
"
|
||||||
|
makedepends="
|
||||||
|
yarn
|
||||||
|
npm
|
||||||
|
"
|
||||||
|
url="https://github.com/Requarks/wiki"
|
||||||
|
subpackages="$pkgname-openrc"
|
||||||
|
install="$pkgname.post-install $pkgname.pre-install"
|
||||||
|
builddir="$srcdir"/wiki-$pkgver
|
||||||
|
pkgusers="wikijs"
|
||||||
|
pkggroups="wikijs"
|
||||||
|
source="
|
||||||
|
$pkgname-$pkgver.tar.gz::https://github.com/requarks/wiki/archive/refs/tags/v$pkgver.tar.gz
|
||||||
|
wikijs.initd
|
||||||
|
config.sample.yml.patch
|
||||||
|
"
|
||||||
|
|
||||||
|
prepare() {
|
||||||
|
default_prepare
|
||||||
|
sed -i "s|\"version.*|\"version\": \"$pkgver\",|" "$builddir"/package.json
|
||||||
|
sed -i 's|"dev": true.*|"dev": "false",|' "$builddir"/package.json
|
||||||
|
}
|
||||||
|
build() {
|
||||||
|
yarn --frozen-lockfile --non-interactive
|
||||||
|
yarn build
|
||||||
|
rm -rf node_modules
|
||||||
|
yarn --production --frozen-lockfile --non-interactive
|
||||||
|
}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
install -Dm755 "$srcdir"/wikijs.initd "$pkgdir"/etc/init.d/wikijs
|
||||||
|
|
||||||
|
install -Dm644 -o 5494 -g 5494 "$builddir"/config.sample.yml "$pkgdir"/etc/wikijs/config.yml
|
||||||
|
|
||||||
|
install -Dm644 "$builddir"/package.json -t "$pkgdir"/usr/lib/bundles/wikijs
|
||||||
|
cp -aR "$builddir"/assets "$builddir"/server "$builddir"/node_modules "$pkgdir"/usr/lib/bundles/wikijs
|
||||||
|
|
||||||
|
mkdir -p "$pkgdir"/var/lib/wikijs
|
||||||
|
chown 5494:5494 "$pkgdir"/var/lib/wikijs
|
||||||
|
}
|
||||||
|
sha512sums="
|
||||||
|
a463d79ad0d8ff15dbe568b839094d697c6de0b2e991b77a4944e2a82f9789de6840e504a4673e4e0900d61596e880ca276008de86dac4f05f5823dc0427d2fc wikijs-2.5.303.tar.gz
|
||||||
|
355131ee5617348b82681cb8543c784eea59689990a268ecd3b77d44fe9abcca9c86fb8b047f0a8faeba079c650faa7790c5dd65418d313cd7561f38bb590c03 wikijs.initd
|
||||||
|
07b536c20e370d2a926038165f0e953283259c213a80a8648419565f5359ab05f528ac310e81606914013da212270df6feddb22e514cbcb2464c8274c956e4af config.sample.yml.patch
|
||||||
|
"
|
13
user/wikijs/config.sample.yml.patch
Normal file
13
user/wikijs/config.sample.yml.patch
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
diff --git a/config.sample.yml.orig b/config.sample.yml
|
||||||
|
index 47edd8d..458472a 100644
|
||||||
|
--- a/config.sample.yml.orig
|
||||||
|
+++ b/config.sample.yml
|
||||||
|
@@ -136,7 +136,7 @@ ha: false
|
||||||
|
# Data Path
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# Writeable data path used for cache and temporary user uploads.
|
||||||
|
-dataPath: ./data
|
||||||
|
+dataPath: /var/lib/wikijs/data
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# Body Parser Limit
|
24
user/wikijs/wikijs.initd
Normal file
24
user/wikijs/wikijs.initd
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
#!/sbin/openrc-run
|
||||||
|
name="$RC_SVCNAME"
|
||||||
|
cfgfile="/etc/conf.d/$RC_SVCNAME"
|
||||||
|
pidfile="/var/run/$RC_SVCNAME.pid"
|
||||||
|
command="/usr/bin/node server"
|
||||||
|
command_args=""
|
||||||
|
command_user="wikijs"
|
||||||
|
command_group="wikijs"
|
||||||
|
supervisor="supervise-daemon"
|
||||||
|
start_stop_daemon_args=""
|
||||||
|
command_background="yes"
|
||||||
|
output_log="/var/log/$RC_SVCNAME/$RC_SVCNAME.log"
|
||||||
|
error_log="/var/log/$RC_SVCNAME/$RC_SVCNAME.err"
|
||||||
|
working_directory="/usr/lib/bundles/wikijs"
|
||||||
|
|
||||||
|
start_pre() {
|
||||||
|
checkpath --directory --owner $command_user:$command_user --mode 0775 \
|
||||||
|
/var/log/$RC_SVCNAME \
|
||||||
|
/var/lib/$RC_SVCNAME
|
||||||
|
export NODE_ENV=production
|
||||||
|
export CONFIG_FILE=/etc/wikijs/config.yml
|
||||||
|
cd "$working_directory"
|
||||||
|
}
|
||||||
|
|
18
user/wikijs/wikijs.post-install
Executable file
18
user/wikijs/wikijs.post-install
Executable file
|
@ -0,0 +1,18 @@
|
||||||
|
#!/bin/sh
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
group=wikijs
|
||||||
|
config_file='/etc/wikijs/config.yml'
|
||||||
|
|
||||||
|
setcap 'cap_net_bind_service=+ep' /usr/bin/node
|
||||||
|
|
||||||
|
cat >&2 <<-EOF
|
||||||
|
*
|
||||||
|
* 1. Adjust settings in /etc/wikijs/config.yml.
|
||||||
|
*
|
||||||
|
* 2. Create database for wikijs:
|
||||||
|
*
|
||||||
|
* psql -c "CREATE ROLE wikijs PASSWORD 'top-secret' INHERIT LOGIN;"
|
||||||
|
* psql -c "CREATE DATABASE wkijs OWNER wikijs ENCODING 'UTF-8';"
|
||||||
|
*
|
||||||
|
EOF
|
20
user/wikijs/wikijs.pre-install
Normal file
20
user/wikijs/wikijs.pre-install
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# It's very important to set user/group correctly.
|
||||||
|
|
||||||
|
wikijs_dir='/var/lib/wikijs'
|
||||||
|
|
||||||
|
if ! getent group wikijs 1>/dev/null; then
|
||||||
|
echo '* Creating group wikijs' 1>&2
|
||||||
|
|
||||||
|
addgroup -S wikijs -g 5494
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! id wikijs 2>/dev/null 1>&2; then
|
||||||
|
echo '* Creating user wikijs' 1>&2
|
||||||
|
|
||||||
|
adduser -DHS -G wikijs -h "$wikijs_dir" -u 5494 -s /bin/sh \
|
||||||
|
-g "added by apk for wikijs" wikijs
|
||||||
|
passwd -u wikijs 1>/dev/null # unlock
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 0
|
Loading…
Reference in a new issue