2023-02-22 20:25:10 +00:00
|
|
|
# Packaging soju
|
|
|
|
|
|
|
|
## Building
|
|
|
|
|
2023-03-22 15:25:15 +00:00
|
|
|
Using `make` is recommended for building. The `GOFLAGS` variable can be used to
|
2023-02-22 20:25:10 +00:00
|
|
|
customize flags passed to Go. In particular, `GOFLAGS="-tags=libsqlite3"` can
|
|
|
|
be used to link to the system's libsqlite3.
|
|
|
|
|
|
|
|
The `Makefile` will configure the binary with the default locations for the
|
|
|
|
config file and the admin Unix socket. These can be customized via the
|
|
|
|
`SYSCONFDIR` and `RUNDIR` variables.
|
|
|
|
|
|
|
|
## Default configuration file
|
|
|
|
|
|
|
|
`make install` will set up a default configuration file which:
|
|
|
|
|
|
|
|
- Uses a SQLite3 database in `/var/lib/soju/main.db`.
|
|
|
|
- Uses a filesystem message store in `/var/lib/soju/logs/`.
|
|
|
|
- Enables the admin Unix socket (required for `sojuctl`).
|
|
|
|
|
2023-03-22 15:25:15 +00:00
|
|
|
The default configuration file's template is stored in `config.in`.
|
|
|
|
|
2023-02-22 20:25:10 +00:00
|
|
|
## Service manager integration
|
|
|
|
|
|
|
|
soju is designed to be run as a system-wide service under a separate user
|
|
|
|
account.
|
|
|
|
|
|
|
|
SIGHUP can be sent to soju to reload the configuration file.
|
2023-03-22 15:25:15 +00:00
|
|
|
|
|
|
|
A template for systemd is available in `contrib/soju.service`.
|