binhex-trimarr

binhex-trimarr

Docker-Anwendung from Binhex's Repository

Übersicht

Removes (trims) unwanted audio and subtitles from matroska container format video files using mkvmerge. Features recursive scanning, smart skip via SQLite tracking, commentary track safety, multi-language support, auto-managed mkvmerge binary, and space savings reporting. Supports one-shot or cron-scheduled operation.

Anforderungen

Media directory
You must map at least one media directory (/media or custom path) containing your .mkv files.

Language configuration
The TRIMARR_LANGUAGE variable must be set to one or more ISO 639-2 language codes (comma-separated), e.g. 'eng' for English only or 'eng,fre' for English and French.

First run
On first run, trimarr downloads the mkvmerge binary automatically. Subsequent runs check for updates unless TRIMARR_NO_UPDATE_CHECK is set to 'yes'.

Schedule (optional)
Set TRIMARR_SCHEDULE to a cron expression to run repeatedly (e.g. '0 2 * * *' for daily at 2am). Omit for one-shot mode (container exits after processing).

Laufzeit-Argumente

Netzwerk
bridge
Shell
bash
Privilegiert
false
Extra Params
--restart=unless-stopped

Konfiguration der Vorlage

Path: /configPathrw

Container path for configuration files, database (trimarr.db), and logs.

Ziel
/config
Standard
/mnt/user/appdata/trimarr
Path: /mediaPathrw

Container path to your media files (e.g. movies, tv). Matches the default TRIMARR_MEDIA_PATH.

Ziel
/media
Standard
/mnt/user
Variable: TRIMARR_LANGUAGEVariable

(Required) ISO 639-2 language code(s) for tracks to keep. Comma-separate multiple codes, e.g. 'eng' or 'eng,fre'. See https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes

Ziel
TRIMARR_LANGUAGE
Variable: TRIMARR_MEDIA_PATHVariable

Directories containing media files to process. Use pipe (|) as separator for multiple paths, e.g. /media/Movies|/media/TV

Ziel
TRIMARR_MEDIA_PATH
Standard
/media
Variable: TRIMARR_SCHEDULEVariable

Cron schedule for repeated runs, e.g. '0 2 * * *' (daily at 2am), '@daily', '*/30 * * * *'. Omit for one-shot mode (container exits after processing).

Ziel
TRIMARR_SCHEDULE
Variable: TRIMARR_EDIT_METADATA_TITLEVariable

If set to 'yes', each file's title metadata is updated to match its filename.

Ziel
TRIMARR_EDIT_METADATA_TITLE
Standard
no|yes
Variable: TRIMARR_DELETE_METADATA_TITLEVariable

If set to 'yes', title metadata is deleted from files. Mutually exclusive with TRIMARR_EDIT_METADATA_TITLE.

Ziel
TRIMARR_DELETE_METADATA_TITLE
Standard
no|yes
Variable: TRIMARR_KEEP_SUBTITLESVariable

If set to 'yes', all subtitle tracks are kept regardless of language.

Ziel
TRIMARR_KEEP_SUBTITLES
Standard
no|yes
Variable: TRIMARR_KEEP_AUDIOVariable

If set to 'yes', all audio tracks are kept regardless of language.

Ziel
TRIMARR_KEEP_AUDIO
Standard
no|yes
Variable: TRIMARR_KEEP_NATIVE_AUDIOVariable

If set to 'yes', audio tracks matching the film's original language (detected via IMDb/TMDb) are kept even if they don't match TRIMARR_LANGUAGE. Useful for dubbed films.

Ziel
TRIMARR_KEEP_NATIVE_AUDIO
Standard
no|yes
Variable: TRIMARR_NO_BACKUPVariable

If set to 'yes', original files are deleted instead of renamed to .bak after successful processing.

Ziel
TRIMARR_NO_BACKUP
Standard
no|yes
Variable: TRIMARR_DRY_RUNVariable

If set to 'yes', performs a dry run without modifying any files. Defaults to 'yes' for safety — set to 'no' to allow actual processing.

Ziel
TRIMARR_DRY_RUN
Standard
yes|no
Variable: TRIMARR_STRIP_LOWER_CHANNELSVariable

If set to 'yes', audio tracks with channel count below the maximum surviving track are removed (e.g. drops 2ch if 8ch exists).

Ziel
TRIMARR_STRIP_LOWER_CHANNELS
Standard
no|yes
Variable: TRIMARR_STRIP_COMMENTARYVariable

If set to 'yes', audio and subtitle tracks whose name contains 'commentary' (case-insensitive) are removed.

Ziel
TRIMARR_STRIP_COMMENTARY
Standard
no|yes
Variable: TRIMARR_STRIP_SUBTITLE_REGEXVariable

Python regex pattern. Any subtitle track whose name matches is removed after language filtering, regardless of language. Uses Python re syntax. Example: '(?i)songs.*signs'

Ziel
TRIMARR_STRIP_SUBTITLE_REGEX
Variable: TRIMARR_RUN_ON_STARTVariable

If set to 'yes', fires one run immediately on startup before the first scheduled cron fire. Requires TRIMARR_SCHEDULE to be set.

Ziel
TRIMARR_RUN_ON_START
Standard
no|yes
Variable: TRIMARR_TMDB_API_KEYVariable

Optional TMDb API key. Used as a fallback when IMDb identification fails. Get a free key at https://www.themoviedb.org/settings/api

Ziel
TRIMARR_TMDB_API_KEY
Variable: TRIMARR_LOG_LEVELVariable

Logging level. Dropdown shows valid choices; INFO is default.

Ziel
TRIMARR_LOG_LEVEL
Standard
INFO|DEBUG|SUCCESS|WARNING|ERROR
Variable: TRIMARR_DATABASE_PATHVariable

Path to SQLite database for tracking processed files.

Ziel
TRIMARR_DATABASE_PATH
Standard
/config/trimarr/db/trimarr.db
Variable: TRIMARR_LOG_PATHVariable

Path to log file for tracking application events.

Ziel
TRIMARR_LOG_PATH
Standard
/config/trimarr/logs/trimarr.log
Variable: TRIMARR_MKVMERGE_PATHVariable

Path to mkvmerge executable. When omitted, trimarr manages its own binary (auto-downloaded and updated).

Ziel
TRIMARR_MKVMERGE_PATH
Variable: TRIMARR_PRE_PROCESSVariable

Shell command to run before processing a directory. Use {leaf} for basename, {dir} for full path. Example: 'no_ransom.sh --unlock yes {leaf}'

Ziel
TRIMARR_PRE_PROCESS
Variable: TRIMARR_POST_PROCESSVariable

Shell command to run after processing a directory. Use {leaf} for basename, {dir} for full path. Example: 'no_ransom.sh --unlock no {leaf}'

Ziel
TRIMARR_POST_PROCESS
Variable: TRIMARR_COMMAND_TIMEOUT_MINSVariable

Timeout in minutes for each pre/post process command. Set to 0 to disable timeout.

Ziel
TRIMARR_COMMAND_TIMEOUT_MINS
Standard
5
Variable: TRIMARR_NO_UPDATE_CHECKVariable

If set to 'yes', skips the automatic check for a newer mkvmerge version.

Ziel
TRIMARR_NO_UPDATE_CHECK
Standard
no|yes
Variable: TRIMARR_SKIP_SIZE_CHECKVariable

If set to 'yes', bypasses the 50% output size guard. Use when legitimate remuxes produce significantly smaller files.

Ziel
TRIMARR_SKIP_SIZE_CHECK
Standard
no|yes
Variable: ENABLE_STARTUP_SCRIPTSVariable

Specify whether to run startup scripts to install and/or configure additional applications.

Ziel
ENABLE_STARTUP_SCRIPTS
Standard
no|yes
Variable: ENABLE_HEALTHCHECKVariable

Enable or disable healthchecks.

Ziel
ENABLE_HEALTHCHECK
Standard
yes|no
Variable: HEALTHCHECK_COMMANDVariable

The command or script to execute, if not specified then the script healthcheck.sh will be used (process, dns and https checking).

Ziel
HEALTHCHECK_COMMAND
Variable: HEALTHCHECK_ACTIONVariable

The action to execute if the healthcheck command returns a non zero exit code, if not specified the action will be 'exit 1', if you want the container to exit on failure then set the action to 'kill 1'.

Ziel
HEALTHCHECK_ACTION
Variable: HEALTHCHECK_HOSTNAMEVariable

The hostname used when performing HTTPS and DNS healthchecking.

Ziel
HEALTHCHECK_HOSTNAME
Standard
google.com
Variable: PUIDVariable

User ID for the running container

Ziel
PUID
Standard
99
Variable: PGIDVariable

Group ID for the running container

Ziel
PGID
Standard
100
Variable: UMASKVariable

UMASK for the running container

Ziel
UMASK
Standard
000

Einzelheiten

Repository
ghcr.io/binhex/arch-trimarr
Zuletzt aktualisiert2026-05-31
Erstmals gesehen2026-05-21

Führen Sie binhex-trimarr auf Unraid aus.

binhex-trimarr ist gelistet in Community Apps für Unraid OS. Erkunden Sie Unraid, um einen flexiblen Heimserver, ein NAS oder ein Heimlabor aufzubauen.