binhex-trimarr

binhex-trimarr

Docker 应用程序 from Binhex's Repository

概述

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.

要求

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).

运行时参数

网络
bridge
外壳
bash
特权
false
额外参数
--restart=unless-stopped

模板配置

Path: /configPathrw

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

目标
/config
默认值
/mnt/user/appdata/trimarr
Path: /mediaPathrw

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

目标
/media
默认值
/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

目标
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

目标
TRIMARR_MEDIA_PATH
默认值
/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).

目标
TRIMARR_SCHEDULE
Variable: TRIMARR_EDIT_METADATA_TITLEVariable

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

目标
TRIMARR_EDIT_METADATA_TITLE
默认值
no|yes
Variable: TRIMARR_DELETE_METADATA_TITLEVariable

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

目标
TRIMARR_DELETE_METADATA_TITLE
默认值
no|yes
Variable: TRIMARR_KEEP_SUBTITLESVariable

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

目标
TRIMARR_KEEP_SUBTITLES
默认值
no|yes
Variable: TRIMARR_KEEP_AUDIOVariable

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

目标
TRIMARR_KEEP_AUDIO
默认值
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.

目标
TRIMARR_KEEP_NATIVE_AUDIO
默认值
no|yes
Variable: TRIMARR_NO_BACKUPVariable

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

目标
TRIMARR_NO_BACKUP
默认值
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.

目标
TRIMARR_DRY_RUN
默认值
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).

目标
TRIMARR_STRIP_LOWER_CHANNELS
默认值
no|yes
Variable: TRIMARR_STRIP_COMMENTARYVariable

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

目标
TRIMARR_STRIP_COMMENTARY
默认值
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'

目标
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.

目标
TRIMARR_RUN_ON_START
默认值
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

目标
TRIMARR_TMDB_API_KEY
Variable: TRIMARR_TVDB_API_KEYVariable

Optional TVDB API key. Used as a fallback when IMDb and TMDb identification fails. Useful for TV shows whose NFO files contain only a TVDB ID. Get a free key at https://thetvdb.com/api

目标
TRIMARR_TVDB_API_KEY
Variable: TRIMARR_KEEP_UNDEFINED_AUDIOVariable

If set to 'yes', audio tracks with an undefined language code ('und') are kept rather than dropped by the language filter. Useful when source files have missing or incorrect language tags.

目标
TRIMARR_KEEP_UNDEFINED_AUDIO
默认值
no|yes
Variable: TRIMARR_LOG_LEVELVariable

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

目标
TRIMARR_LOG_LEVEL
默认值
INFO|DEBUG|SUCCESS|WARNING|ERROR
Variable: TRIMARR_DATABASE_PATHVariable

Path to SQLite database for tracking processed files.

目标
TRIMARR_DATABASE_PATH
默认值
/config/trimarr/db/trimarr.db
Variable: TRIMARR_LOG_PATHVariable

Path to log file for tracking application events.

目标
TRIMARR_LOG_PATH
默认值
/config/trimarr/logs/trimarr.log
Variable: TRIMARR_MKVMERGE_PATHVariable

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

目标
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}'

目标
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}'

目标
TRIMARR_POST_PROCESS
Variable: TRIMARR_COMMAND_TIMEOUT_MINSVariable

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

目标
TRIMARR_COMMAND_TIMEOUT_MINS
默认值
5
Variable: TRIMARR_NO_UPDATE_CHECKVariable

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

目标
TRIMARR_NO_UPDATE_CHECK
默认值
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.

目标
TRIMARR_SKIP_SIZE_CHECK
默认值
no|yes
Variable: ENABLE_STARTUP_SCRIPTSVariable

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

目标
ENABLE_STARTUP_SCRIPTS
默认值
no|yes
Variable: ENABLE_HEALTHCHECKVariable

Enable or disable healthchecks.

目标
ENABLE_HEALTHCHECK
默认值
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).

目标
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'.

目标
HEALTHCHECK_ACTION
Variable: HEALTHCHECK_HOSTNAMEVariable

The hostname used when performing HTTPS and DNS healthchecking.

目标
HEALTHCHECK_HOSTNAME
默认值
google.com
Variable: PUIDVariable

User ID for the running container

目标
PUID
默认值
99
Variable: PGIDVariable

Group ID for the running container

目标
PGID
默认值
100
Variable: UMASKVariable

UMASK for the running container

目标
UMASK
默认值
000

下载统计数据

832
下载总数

详细信息

存储库
ghcr.io/binhex/arch-trimarr
最后更新2026-06-01
初见2026-05-21

在Unraid 上运行 binhex-trimarr 。

binhex-trimarr 已被列入Unraid OS 的社区应用程序。探索Unraid ,构建灵活的家庭服务器、NAS 或家庭实验室。