Skip to content

Administration

See Upgrading.

Monitor your system via the Waiting For Caller (WFC) screen and learn how to monitoring logs.

User management is currently handled via the oputil CLI.

The first user to log into a fresh installation is made the SysOp: they are placed in the built-in sysops group, which is what ACS checks such as GM[sysops] test against. There is no separate step to claim the account — log in first, before you expose the board.

It is highly recommended to perform regular backups of your system. Nothing is worse than spending a lot of time setting up a system only to have it go away unexpectedly!

In general, simply creating a copy/archive of your system is enough for the default configuration. If you have changed default paths to point outside of your main ENiGMA½ installation, take special care to ensure these are preserved as well. Database files may be in a state of flux when simply copying files. See Database Backups below for details on consistent backups.

SQLite’s CLI backup command can be used for creating database backup files. This can be performed as an additional step to a full backup to ensure the database is backed up in a consistent state (whereas simply copying the files does not make any guarantees).

As an example, consider the following Bash script that creates foo.sqlite3.backup files:

Terminal window
for dbfile in /path/to/enigma-bbs/db/*.sqlite3; do
sqlite3 $dbfile ".backup '/path/to/db_backup/$(basename $dbfile).backup'"
done

There are many backup solutions available across all platforms. Configuration of such tools is outside the scope of this documentation. With that said, the author has had great success with Borg.

Several default maintenance tasks are defined as events in core/config_default.js, in the section eventScheduler. These events run at various times and perform several maintenance tasks. An example is the trimMessageAreas event, which is run every 24 hours and defines that the action trimMessageAreasScheduledEvent is performed.

SQLite database files become less performant over time and waste space. It is recommended to periodically vacuum your databases. Before proceeding, you should make a backup!

Example:

Terminal window
for dbfile in /path/to/enigma-bbs/db/*.sqlite3; do
sqlite3 ./db/message.sqlite3 "vacuum;"
done