FreeBSD host
Use FreeBSD 15.1 or newer on amd64 with a supported package repository and root access.
Run the published TautWeekly OCI application through FreeBSD's documented Linux-container support, control it with service(8), keep private state under /var/db, and expose previews only through localhost.
$ sudo ./install-freebsd.sh ✓ Linux emulation ready ✓ Podman service ready ✓ rc.d integration installed $ sudo tautweekly verify ✓ Tautulli · SMTP · storage $ sudo tautweekly send-test-all → TestEmail only ▋
This first FreeBSD track targets the host combination documented and testable today. It does not claim native PowerShell support.
Use FreeBSD 15.1 or newer on amd64 with a supported package repository and root access.
The installer enables FreeBSD Linux emulation and the Podman service, then verifies the public OCI image can be pulled.
Allow outbound access to GHCR, Tautulli, SMTP STARTTLS, and any optional Plex metadata endpoint.
Static scripts, archive integrity, and the Linux OCI payload run in GitHub CI, but GitHub-hosted runners do not boot this FreeBSD service. Complete preview and TestEmail acceptance on the target host before scheduling.
The installer may add Podman with pkg, enables the Linux and Podman services, installs one rc.d service, and preserves existing settings and data.
Excluded users remain usable as sample data for previews and TestEmail, but scheduled and confirmed production delivery omits them.
Write secrets only inside private container data.
Check API, SMTP, files, timezone, and schedule.
Render all deterministic states without mail.
Validate MIME in the actual mail client.
Enable the scheduler after roster review.
SMTP and API secrets never enter the image or service environment. They remain in a host-mounted mode-0700 data directory.
| Path | Purpose | Treatment |
|---|---|---|
/var/db/tautweekly | Configuration, state, logs, output, assets, backups | Private; never attach publicly |
/usr/local/etc/tautweekly/tautweekly.env | Image tag, timezone, identity, preview bind | Root-owned mode 0600; no SMTP/API secrets |
/usr/local/etc/rc.d/tautweekly | Service lifecycle | Root-owned executable |
Keep data independent of the image. Pin a version tag for deterministic production and complete the acceptance gate after every update.
The wrapper stops the container briefly so state and configuration are captured consistently.
The preview service has no built-in authentication. Keep 127.0.0.1 and use SSH, or place an authenticated TLS reverse proxy in front of it.