[WIP] PKGBUILD to build and install knot on ArchLinux
archlinux aur pkgbuild

Sample .knot.env and nginx.conf added

+8 -2
.SRCINFO
··· 1 1 pkgbase = tangled-knot-git 2 2 pkgdesc = Tangled knot — a code colaboration planform built on the AT protocol (development version) 3 3 pkgver = 1.11.0.alpha.r11.gd37f774f 4 - pkgrel = 4 4 + pkgrel = 5 5 5 url = https://tangled.org/@tangled.org/core 6 + install = tangled-knot.install 6 7 arch = aarch64 7 8 arch = x86_64 8 9 license = MIT 9 - makedepends = git 10 10 makedepends = go 11 11 depends = git 12 12 depends = glibc 13 13 depends = openssh 14 + optdepends = caddy: webserver for reverse proxy 15 + optdepends = nginx: webserver for reverse proxy (alternative) 14 16 provides = knot 15 17 provides = tangled-knot 16 18 conflicts = knot ··· 19 21 source = openssh.conf 20 22 source = sysuser.conf 21 23 source = tmpfile.conf 24 + source = sample-.knot.env 25 + source = sample-nginx.conf 26 + sha256sums = SKIP 27 + sha256sums = SKIP 22 28 sha256sums = SKIP 23 29 sha256sums = SKIP 24 30 sha256sums = SKIP
+13 -3
PKGBUILD
··· 5 5 _pkgname='tangled-knot' 6 6 pkgname="${_pkgname}-git" 7 7 pkgver=1.11.0.alpha.r11.gd37f774f 8 - pkgrel=4 8 + pkgrel=5 9 9 pkgdesc='Tangled knot — a code colaboration planform built on the AT protocol (development version)' 10 10 arch=('aarch64' 'x86_64') 11 11 url='https://tangled.org/@tangled.org/core' 12 12 license=('MIT') # SPDX-License-Identifier: MIT 13 13 provides=({,tangled-}'knot') 14 14 conflicts=("${provides[@]}") 15 - makedepends=('git' 'go') 15 + makedepends=('go') 16 16 depends=('git' 'glibc' 'openssh') 17 + optdepends=( 18 + 'caddy: webserver for reverse proxy' 19 + 'nginx: webserver for reverse proxy (alternative)' 20 + ) 17 21 source=( 18 22 "git+$url.git" 19 23 'openssh.conf' 20 24 'sysuser.conf' 21 25 'tmpfile.conf' 26 + 'sample-.knot.env' 27 + 'sample-nginx.conf' 22 28 ) 23 - sha256sums=('SKIP' 'SKIP' 'SKIP' 'SKIP') 29 + sha256sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP') 30 + install="$_pkgname.install" 24 31 25 32 pkgver() { 26 33 cd core ··· 81 88 install -vDm0644 sysuser.conf "$pkgdir/usr/lib/sysusers.d/$_pkgname.conf" 82 89 install -vDm0644 tmpfile.conf "$pkgdir/usr/lib/tmpfiles.d/$_pkgname.conf" 83 90 install -vDm0644 openssh.conf "$pkgdir/etc/ssh/sshd_config.d/$_pkgname.conf" 91 + 92 + # Sample configuration files 93 + install -vDm0644 -t "$pkgdir/usr/share/doc/$pkgname" sample-*.* 84 94 } 85 95 86 96 # eof
-1
README.md
··· 13 13 TODO: 14 14 15 15 * Proper systemd service file 16 - * `tangled-knot.install` file 17 16 18 17 Cheers, 19 18   Jan Kasi
+6
sample-.knot.env
··· 1 + APPVIEW_ENDPOINT=https://tangled.sh 2 + KNOT_REPO_SCAN_PATH=/var/lib/tangled-knot 3 + KNOT_SERVER_HOSTNAME=knot.example.com 4 + KNOT_SERVER_INTERNAL_LISTEN_ADDR=127.0.0.1:5444 5 + KNOT_SERVER_LISTEN_ADDR=127.0.0.1:5555 6 + KNOT_SERVER_OWNER=did:plc:foobar
+28
sample-nginx.conf
··· 1 + # See https://tangled.org/tangled.org/core/blob/master/docs/knot-hosting.md 2 + 3 + server { 4 + listen 80; 5 + listen [::]:80; 6 + server_name knot.example.com; 7 + 8 + location / { 9 + proxy_pass http://localhost:5555; 10 + proxy_set_header Host $host; 11 + proxy_set_header X-Real-IP $remote_addr; 12 + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 13 + proxy_set_header X-Forwarded-Proto $scheme; 14 + } 15 + 16 + # wss endpoint for git events 17 + location /events { 18 + proxy_set_header X-Forwarded-For $remote_addr; 19 + proxy_set_header Host $http_host; 20 + proxy_set_header Upgrade websocket; 21 + proxy_set_header Connection Upgrade; 22 + proxy_pass http://localhost:5555; 23 + } 24 + 25 + # additional config for SSL/TLS go here. 26 + } 27 + 28 + # eof
+18
tangled-knot.install
··· 1 + # -*- mode: sh -*- 2 + 3 + post_install() { 4 + cat <<__EOT__ 5 + » Sample configuration files can be found in 6 + » /usr/share/doc/tangled-knot 7 + » 8 + » Please refer to 9 + » /usr/share/doc/tangled-knot-git/knot-hosting.md 10 + » for configuration details. 11 + __EOT__ 12 + } 13 + 14 + post_upgrade() { 15 + post_install "$@" 16 + } 17 + 18 + # eof