4.0 KiB
Current system
This records the operator's inventories and selected configs collected on October 22, 2026. It describes the existing shell host. The installation guide and examples make separate choices for a new host; they do not silently claim those choices are already deployed here.
Machine
- Fedora Linux 43, x86-64, 8 logical CPUs, about 29 GiB usable RAM.
- About 1 TiB on the root XFS filesystem;
/homeand/varare on that mount. - Root mount options include user and group quotas.
- SELinux disabled on the recorded host; CSF is the active firewall manager.
These are the resources on the existing machine, not minimum requirements. Exact user inventories, addresses, private keys, credentials, and raw config dumps are deliberately not part of this public record.
Services
| Purpose | Confirmed configuration |
|---|---|
| Shell access | OpenSSH main service; separate restricted legacy service on 2222. |
| Authentication | Key login, or PAM password/TOTP path; the collected main config does not require both paths together. |
| Onboarding | Local makeuser, Ruby firstlogin, skeleton marker, Google Authenticator wrapper. |
| Web | nginx, root /usr/share/nginx/html, /~USER/ and /u/USER/ publishing. |
| PHP | Shared php-user:club pool for user pages; nginx:nginx pool for main site applications. |
| CGI | fcgiwrap instance with a local override running as cgiwrap. |
Postfix 3.10.14, Dovecot/Pigeonhole 2.4.5, Maildir at ~/.mail. |
|
| Mail filtering | OpenDKIM and Rspamd on configured local milter endpoints; pyspf-milter also running. |
| Webmail | nginx vhost points to SnappyMail. |
| Usenet | INN 2.7.3 running on the shell host. |
| Gopher | Fossor socket activation; dedicated gopher service identity. |
| Gemini | gemserv, running from /srv/gemini/gemserv, as gemini. |
| Finger | Local Python fingerd.py, service identity efingerd. |
| IRC support | oidentd and ZNC running. Network-server location/daemon was not established by this collection. |
| Database/cache | MariaDB and Valkey running. |
| Accounting | psacct active. |
| Certificates | Custom twice-daily standalone Certbot timer that stops/starts nginx. |
| Backups | Root cron at 03:00, explicit /usr/bin/borgmatic 2.1.9 with Borg 1.4.5. |
The compiled services and private application integration code need their own version/update records. Installed RPMs are not an installation manifest: the host has accumulated optional tools and old builds over time.
Details worth keeping straight
/usr/local/bin/borgmatic is a different, older installation (1.5.21). Manual
invocation through PATH is not necessarily the program run by the backup job.
/home is not an independent mount here. Quota commands need the containing
mountpoint /; the collector's /home quota query printed an error.
The per-user FPM pool generator exists, but the collected main nginx route uses the shared socket. A generated per-user pool alone does not route a member's requests to it.
The supplied main SSH config does not include sshd_config.d; collecting those
files does not establish that the daemon reads them. The effective global
AuthenticationMethods was any. The SSH chapter explains the key and PAM
paths, with an explicit MFA example for a new installation.
The aggregate user.slice reported no finite memory or task limit. Individual
user slices and PAM limits were not comprehensively collected, so no complete
production resource policy is claimed here.
The Gopher service reads options from /etc/default/fossor and
/etc/sysconfig/fossor; those files were not supplied. Gemini's service uses
/srv/gemini/gemserv/config.toml, which was also not supplied. The publishing
chapter identifies the runtime layout and points to version-matched upstream
configuration rather than inventing live option values.
The backup repository, complete source list, retention, and restore history were not supplied. The backup chapter's example is explicitly separate from the confirmed scheduler and executable versions.