AZORIUS(8) | System Manager's Manual | AZORIUS(8)

# NAME

`azorius` —
azorius administration

# DESCRIPTION

The `azorius` daemon processes messages from other federated servers. This is the admin manual. For user operation, see azorius(1).

## Setup

Set up a TLS reverse proxy. `azorius` can listen on TCP or unix sockets, but will not terminate TLS. https is a required component for federation. Also, http signature verification requires accurate time keeping.

Make sure to pass the Host header, if necessary (as for nginx).

    proxy_set_header Host $http_host;

## Build

Building `azorius` requires a go compiler 1.18 and libsqlite. On OpenBSD this is the go and sqlite3 packages. Other platforms may require additional development libraries or headers to be installed, such as gcc or cc. Run make. Please be patient. Even on fast machines, building from source can take several seconds.

## Options

The following options control where `azorius` looks for data.

`-datadir` dir
  The root data directory, where the database and other user data are stored. This directory contains all user data that persists across upgrades. Requires write access. Defaults to ".".
`-viewdir` dir
  The root view directory, where html and other templates are stored. The contents of this directory are generally replaced with each release. Read only. Defaults to ".".

The following options control log output. Acceptable values include "stderr" (the default), "stdout", "null", "syslog", or a file name. syslog messages will be sent to the NEWS facility.

`-errorlog` log
  The error log. Something bad has happened.
`-infolog` log
  The informative messages log. Something has happened, but probably not too bad.
`-debuglog` log
  The debug log. There's probably no reason to care.
`-log` log
  Set all three logs.

## Init

Run the `init` command. This will create the database and ask four questions, as well as creating the initial user.

## Operation

Run azorius.

## Customization

Site CSS may be overridden by creating a views/local.css file in the data directory. Site JS may similarly be included by creating views/local.js. A restart is required after changes.

## Upgrade

Stop the old azorius process. Backup the database. Upgrade the database with the `upgrade` command. Restart.

The current version of the azorius binary may be printed with the `version` command.

## Security

`azorius` is not currently hardened against SSRF, server side request forgery. Be mindful of what other services may be exposed via localhost or the local network.

## Development

Development mode may be enabled or disabled by running `devel` on|off. In devel mode, secure cookies are disabled, TLS certs are not verified, and templates are reloaded every request.

## Advanced Options

Advanced configuration values may be set by running the `setconfig` key value command. For example, to increase the fast timeout value from 5 seconds to 10:
`./azorius setconfig fasttimeout 10`

# FILES

`azorius` files are split between the data directory and the view directory. Both default to "." but may be specified by command line options.

The data directory contains:

azorius.db
  The main database.
attachments
  Media and attachment storage.
tempstore
  Temporary media and attachment storage.

The view directory contains:

views
  HTML templates and CSS files.

# EXAMPLES

This series of commands creates a new database, sets a friendly welcome message, and runs azorius.

    azorius-v98> make
    azorius-v98> ./azorius -datadir ../azorius-data init
    listen address: /var/www/azorius.sock
    server name: azorius.example.com
    username: puffy
    password: OxychromaticBlowfishSwatDynamite
    azorius-v98> ./azorius -datadir ../azorius-data admin
    azorius-v98> date; ./azorius -log azorius.log -datadir ../azorius-data

Upgrade to the next version.

    azorius-data> cp azorius.db backup.db
    azorius-data> cd ../azorius-v99
    azorius-v99> make
    azorius-v99> ./azorius -datadir ../azorius-data upgrade
    azorius-v99> ./azorius -datadir ../azorius-data cleanup
    azorius-v99> date; ./azorius -log azorius.log -datadir ../azorius-data

# ENVIRONMENT

Image processing and scaling requires considerable memory. It is recommended to adjust the datasize ulimit to at least 1GB.

# SEE ALSO

intro(1), azorius(1)

# CAVEATS

There's no online upgrade capability. Upgrades may result in minutes of downtime.

August 29, 2023 | Debian