pkgs#
PKGBUILD for my @tangled.sh knotserver setup on Arch Linux (because I just can't get my head around nix).
Install#
makepkg -D knotserver --install
Yay!
Additional steps ...#
Secrets#
Obtain a server secret from /knots, and set KNOT_SERVER_SECRET in /etc/tangled/knotserver.
echo 'KNOT_SERVER_SECRET="..."' > /etc/tangled/knotserver
Hostname#
Either set /etc/hostname to the host's FQDN, or override KNOT_SERVER_HOSTNAME in knotserver.service
systemctl edit knotserver.service <<EOF
[Service]
Environment="KNOT_SERVER_HOSTNAME=..."
EOF
Reverse Proxy#
Setup a reverse-proxy to forward https requests to http://localhost:5555, with a valid SSL certificate.
Running#
systemctl enable --now knotserver.service
SSH#
To permit git pushes over SSH, enable the sshd_config.d drop-in, and modify the git user created by the extra/git package.
ln -s /usr/lib/systemd/sshd_config.d/knotserver.conf /etc/ssh/sshd_config.d/30-knotserver.conf
usermod -s /usr/bin/bash -d /var/lib/tangled git