LINTautWeekly for Plex
Native Linux · no Docker required

A quiet service.
A deliberate send.

Run the same maintained renderer directly on PowerShell 7, isolate its private state, preview every mail state, and let systemd keep only the scheduler and localhost preview service alive.

PowerShell 7.2+systemdlocalhost previewupgrade-safe data
linux — controlled launch
$ sudo ./install-linux.sh
 protected service account
 application separated from data

$ sudo tautweekly verify
 Tautulli · SMTP · storage

$ sudo tautweekly send-test-all
 TestEmail only
0credentials in application files
0700private data directory mode
127.0.0.1default preview bind
opt-inautomatic production delivery
Before installation

Use a supported runtime.

The package refuses a partial install. PowerShell comes from Microsoft's supported distribution repository; TautWeekly does not add repositories as root.

01

Current Linux

Use a current 64-bit Ubuntu, Debian, or RHEL release with systemd. Systems without systemd should use the NAS/Docker package.

02

PowerShell 7

Install pwsh 7.2 or newer. A current LTS is recommended. Confirm with pwsh --version.

03

Host tools

Provide Python 3, tar, and util-linux tools including runuser and flock.

Installation

Verify, install, configure.

The application is replaceable. Your credentials, scheduler guard, logs, previews, and custom assets live outside it.

1. Verify and extract the release

sha256sum --check SHA256SUMS.txt --ignore-missing tar -xzf TautWeekly-linux.tar.gz cd TautWeekly-linux

2. Install and run guided setup

sudo ./install-linux.sh sudo tautweekly setup sudo tautweekly verify
Acceptance gate

Production comes fifth.

Each step proves a narrower boundary before any real recipient is eligible.

01 Configure

Enter Tautulli, SMTP, branding, and schedule locally.

02 Verify

Test files, API reachability, mail settings, and time zone.

03 Preview

Render six deterministic browser states without email.

04 TestEmail

Validate real MIME and mail-client rendering.

05 Schedule

Enable only after roster and exclusions are reviewed.

sudo tautweekly list-users sudo tautweekly exclude-users sudo tautweekly preview-all sudo tautweekly send-test-all sudo tautweekly schedule-status # only after review: sudo tautweekly schedule-enable
!

Keep `/var/lib/tautweekly` private.

config.json contains an SMTP credential and Tautulli API key and may contain a Plex token. Logs, previews, and backups can reveal recipients and viewing activity. Never upload them to an issue or release.

PathRoleBoundary
/opt/tautweeklyApplication and defaultsRoot-owned, read-only to service
/var/lib/tautweeklyAll private runtime materialService-owned, mode 0700
/etc/tautweekly/tautweekly.envTimezone, paths, preview listenerRoot-owned, mode 0600
ssh -L 8787:127.0.0.1:8787 admin@example.com # open http://127.0.0.1:8787 locally
Lifecycle

Replace code, preserve state.

Upgrade mode creates a timestamped program backup, replaces `/opt/tautweekly`, preserves every private data file, and restarts a configured service.

Upgrade

sudo ./install-linux.sh --upgrade sudo tautweekly verify sudo tautweekly send-test-all

Observe

sudo systemctl status tautweekly sudo journalctl -u tautweekly -n 200 --no-pager

Private backup

sudo tautweekly backup # briefly stops an active service for consistency