Duplex v1.0.0 โ The Prestige-TV Cut ๐บ
Duplex 1.0.0 is the first stable release of the maintained Synology-first Docker Compose toolkit for Plex-adjacent automation. It packages a coherent, auditable deployment contract for Kometa, ImageMaid, PATTRMM, Tautulli, Notifiarr, Watchtower, and the separate one-shot Overlay Reset workflow.
Duplex does not deploy Plex Media Server and does not publish an application image. This release tags the Compose source, example environment contract, validation tooling, and operator documentation.
Production-Ready Compose Contract ๐ฌ
- Removes the obsolete Compose
versionkey and centralizes complete image references in paired example environment files. - Updates the maintained application images, pins the rolling PATTRMM image by digest, and preserves stable container names.
- Replaces the archived original Watchtower project with the maintained Nicholas Fedor fork.
- Makes Watchtower label-opt-in, prevents stopped-container revival by default, and excludes one-shot tools.
- Adds explicit bind-mount modes, safe network defaults, and a private Plex configuration path.
- Makes Overlay Reset dry-run by default because destructive artwork cleanup should require an explicit decision.
Security, Automation, and Documentation ๐ก๏ธ
- Adds POSIX validation tooling, pre-commit secret and source checks, CodeQL, OpenSSF Scorecard, and least-privilege workflow permissions.
- Adds Renovate coverage for Actions, pre-commit hooks, Compose images, and the Kometa submodule.
- Adds CODEOWNERS, issue forms, a pull-request template, contribution guidance, a security policy, and a code of conduct.
- Rewrites setup and operator documentation around the current one-file Compose deployment while preserving the project movie-and-television voice.
- Documents Synology and ordinary Docker operation, one-shot maintenance charts, application state boundaries, and the Docker-socket security model.
Migration Notes ๐ฟ
- Copy new values from
example.envinto the private active.env; do not replace a working environment file blindly. - Replace the old image
TAGvariables with the complete*_IMAGEreferences shown in the example environment. - Set
HOST_PLEX_CONFIGto the host Plex configuration directory. - Review the default
172.30.0.0/16subnet before deployment if the host already routes that range. - Back up locally edited Notifiarr configuration before changing deployment files.
- Review and apply the Watchtower enable labels only to containers that should receive automated updates.
Validation ๐งช
The release target is the passing main commit cc26975. The modernization passed make validate, pre-commit run --all-files, Compose contract validation, ShellCheck, secret scanning, Renovate validation and extraction, upstream image-manifest verification, and Git diff checks. Current main-branch validation and Scorecard workflows are successful.
Merged Production ๐
- #1: Give Duplex the prestige-TV modernization treatment.
Release source: https://github.com/scottgigawatt/duplex/tree/v1.0.0