Arch PKGBUILDs for https://tangled.org/@tangled.org/core
arch
pkgbuild
1# pkgs
2
3PKGBUILD for my [@tangled.sh](https://tangled.sh/@tangled.sh/core) knotserver setup on [Arch Linux](https://archlinux.org) (because I just can't get my head around nix).
4
5## Install
6
7```bash
8makepkg -D knotserver --install
9```
10
11Yay!
12
13## Additional steps ...
14
15### Secrets
16Obtain a server secret from [/knots](https://tangled.sh/knots), and set `KNOT_SERVER_SECRET` in `/etc/tangled/knotserver`.
17
18```bash
19echo 'KNOT_SERVER_SECRET="..."' > /etc/tangled/knotserver
20```
21
22### Hostname
23
24Either set `/etc/hostname` to the host's FQDN, or override `KNOT_SERVER_HOSTNAME` in `knotserver.service`
25
26```bash
27systemctl edit knotserver.service <<EOF
28[Service]
29Environment="KNOT_SERVER_HOSTNAME=..."
30EOF
31````
32
33### Reverse Proxy
34
35Setup a reverse-proxy to forward `https` requests to `http://localhost:5555`, with a valid SSL certificate.
36
37## Running
38
39```bash
40systemctl enable --now knotserver.service
41```
42
43## SSH
44
45To permit `git` pushes over SSH, enable the `sshd_config.d` drop-in, and modify the `git` user created by the [extra/git](https://archlinux.org/packages/extra/x86_64/git/) package.
46
47```bash
48ln -s /usr/lib/systemd/sshd_config.d/knotserver.conf /etc/ssh/sshd_config.d/30-knotserver.conf
49usermod -s /usr/bin/bash -d /var/lib/tangled git
50```