BSD Cafe - Technical Details

Currently, the infrastructure of BSD Cafe relies entirely on FreeBSD, with both IPv4 and IPv6 connectivity.

The base setup is divided into jails:

The https://mastodon.bsd.cafe instance is structured as follows:

https://wiki.bsd.cafe is confined within a single jail and runs the nginx, php and (of course) the DokuWiki CMS.

https://miniflux.bsd.cafe is structured similarly, contained within a single jail, housing both the Miniflux software and PostgreSQL. In this case, we utilize a local installation.

https://freshrss.bsd.cafe is a single jail service, housing both the FreshRSS stack (Apache and PHP) and PostgreSQL.

https://matrix.bsd.cafe is structured similarly, contained within a single jail, housing both the Synapse software, PostgreSQL and the Whatsapp bridge. In this case, we utilize a local installation.

https://blendit.bsd.cafe is composed of two FreeBSD jails: one for PostgreSQL, and the other contains the rest (the frontend in Node and the backend in Rust).

https://brew.bsd.cafe is a FreeBSD jail running PostgreSQL, KeyDB and Forgejo.

https://snac.bsd.cafe is a FreeBSD jail running Snac2. Only a few strict Snac2 dependencies have been installed.

https://status.bsd.cafe is a FreeBSD jail running Uptime Kuma. This will monitor the other services' reachability and lives in an external VPS.

All communication takes place through a private LAN using a bridge configuration. Additionally, the setup is equipped for VPN connections to external machines, facilitating the possibility of relocating, replicating, or adding services. The VPN connection can be established using Zerotier or Wireguard. Furthermore, a bridge has been established between machines via a VXLAN interface over Wireguard.

Backups are systematically generated via ZFS snapshots and externally replicated across two distinct machines located in separate data centers, different from the production VPS data center.