44 lines
2.4 KiB
Markdown
44 lines
2.4 KiB
Markdown
# continuwuity-bsd
|
|
|
|
Build tools for releasing BSD packages for the [continuwuity](https://continuwuity.org/) Matrix homeserver.
|
|
|
|
# Installation instructions
|
|
## FreeBSD
|
|
I'm working on creating a package repository which can handle signing and automatic updates. In the meantime, the package can be installed manually:
|
|
|
|
1. Download the latest package build for your FreeBSD version and architecture from the [releases page](https://forgejo.ellis.link/katie/continuwuity-bsd/releases). There are two variants each for FreeBSD 14 and 15:
|
|
- `generic`: General-purpose build compatible with nearly all processors
|
|
- `haswell`: Optimized[^haswell] build compatible with Intel Haswell-and-later and AMD Excavator-and-later processors (roughly 2014 and onward).
|
|
|
|
Builds are currently available for AMD64 architectures only. ARM support is planned.
|
|
|
|
2. Install the RocksDB package: [^rocksdb]
|
|
```shell
|
|
pkg install rocksdb
|
|
```
|
|
3. Install the continuwuity package:
|
|
```
|
|
pkg add continuwuity-generic-0.5.5-freebsd15-amd64.pkg
|
|
```
|
|
4. Enable the continuwuity service:
|
|
```
|
|
sysrc continuwuity_enable=YES
|
|
```
|
|
5. Edit the continuwuity config file at `/usr/local/etc/continuwuity/continuwuity.toml`:
|
|
- Set a server name using the `server_name` option
|
|
- If your reverse proxy will run on another system, update the `address` option to listen on a non-loopback interface, e.g. `address = ["0.0.0.0", "::"]` to listen on all IPv4 and IPv6 addresses
|
|
|
|
6. Configure your reverse proxy using the [continuwuity docs](https://continuwuity.org/deploying/generic.html#setting-up-the-reverse-proxy).
|
|
7. Start continuwuity and check its logs:
|
|
```
|
|
service continuwuity start
|
|
tail -f /var/log/daemon.log | grep continuwuity
|
|
```
|
|
|
|
> [!IMPORTANT]
|
|
> There's currently a bug that causes the terminal control characters for colors to appear in the log messages, which may obscure the first-run registration token.
|
|
>
|
|
> In the message `...using the registration token ^[[1;32mLw8zPjL2fqb1clLq^[[0m`, the registration token is actually `Lw8zPjL2fqb1clLq` (i.e. the portion between `^[[1;32m` and `^[[0m`)
|
|
|
|
[^rocksdb]: The FreeBSD package is built against the latest version of `rocksdb` in the `quarterly` package repo. If you are using the `latest` repo instead, you may need to downgrade the package in order for continuwuity to run.
|
|
[^haswell]: Specifically the [AVX2 instruction set](https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#Advanced_Vector_Extensions_2), which RocksDB can take advantage of.
|