AZORIUS(8)

πŸ“¦ version 0.3.4, in alpine 3.24

πŸ’… AZORIUS(8) β€” the admin manual, bestie edition

okay so this is the System Manager's Manual for azorius, and it's the admin one specifically β€” if you're just a user person, go read azorius(1) instead, love you πŸ’–


✨ NAME ✨

azorius β€” azorius administration. that's it, that's the vibe. admin duties only, no cap πŸ‘‘


🌸 DESCRIPTION 🌸

so the azorius daemon processes messages from other federated servers. that's the whole personality. it's giving mailroom but make it federation πŸ¦‹

this page is the admin manual. for actual user operation, go see azorius(1) iykyk.

πŸŽ€ Setup

first things first bestie: set up a TLS reverse proxy. azorius can listen on TCP or unix sockets, but it will not terminate TLS β€” that's just not its job, periodt. https is a required component for federation, no exceptions. also, http signature verification requires accurate time keeping (yes, clocks matter, dramatic but true πŸ•°οΈ).

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. like, several. we know. we're all suffering together.

✨ 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. one flag, all the drama. slay.

πŸ’œ Init

run the init command. this will create the database and ask four questions, as well as creating the initial user. four whole questions. you got this πŸŽ€

⭐ Operation

run azorius. that's it. main character energy, just run it πŸ‘‘

πŸ¦‹ 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 β€” don't forget, bestie, or you'll be staring at the old version like πŸ™ˆ

🌈 Upgrade

stop the old azorius process. backup the database. upgrade the database with the upgrade command. restart. in that order, please, we're begging πŸ₯Ί

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. this is a real caveat, not a cute one β€” take it seriously πŸ’…

🧚 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. extremely convenient, extremely not for production, iykyk 😌

πŸ‘‘ 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. feed the machine, bestie πŸ“


🌈 SEE ALSO 🌈

intro(1), azorius(1)


πŸ’€ CAVEATS πŸ’€

there's no online upgrade capability. upgrades may result in minutes of downtime. minutes!! plan accordingly, schedule a snack break, do what you gotta do 😭


anyway that's the whole page β€” azorius(8), from the Debian build, dated $Mdocdate$. go forth and federate responsibly, ily πŸ«ΆπŸ’…βœ¨

πŸ“¦ where this page comes from