Media management

Root folders, how films are named, hardlinks or copies, permissions, the recycle bin, tags, and how highsea keeps up with the disk.

Written for highsea 0.1.0.

Settings › Media management decides where films live on disk, what they're called, and how a finished download becomes a file in your library. The Owner and Admins can change it.

Changes to Naming and Importing wait in a bar at the bottom of the page until you choose Save or Discard. Root folders and tags save as soon as you change them.

Root folders

A root folder is a folder your films are filed under, such as /data/media/movies. Each film gets a folder of its own inside one. Setup adds your first; most servers need only one.

Each root folder shows its free space, how many films are filed under it, and Can't be read now when the disk isn't there.

Add a root folder

Type the folder's full path under Add a root folder and choose Add folder. The path is a folder on the server, as highsea sees it inside its container, not on the device you're browsing from. highsea checks that:

  • the path is a full one, starting with /;
  • the folder exists;
  • highsea can write to it;
  • it isn't a root folder already, or inside or around one.

Put it on the same disk as your downloads, so imports can use hardlinks. Folders and hardlinks explains why.

Subtitle languages for films added here

Each root folder has a Subtitle languages for movies added here setting. Films added to that folder start with the languages you pick, from the language profiles on Subtitles. None means films added there get no subtitles until you choose some.

Import what's already here

Import what's already here opens the library import in Activity for that folder. highsea reads each folder inside it as one film, by its name: Title (Year), or with a {tmdb-…} or {imdb-…} ID in the name. It matches each on TMDB, so it needs a TMDB key (see General).

You choose a quality profile, and whether to Rename to my format, which names folders and files with the formats below; otherwise nothing is moved or renamed. A folder with no match on TMDB says so: add {tmdb-…} with the film's TMDB ID to the folder's name and look again. Activity has more on importing.

Remove a root folder

Remove stops highsea using the folder for new films. Nothing on disk changes, and you can add it again later. A folder with films filed under it can't be removed: move them to another folder first.

Naming

How highsea names what it imports.

SettingWhat it doesDefault
Rename moviesOff, files keep the names they came with, and the formats below are greyed out.On
FolderThe format for each film's folder.{Movie Title} ({Release Year})
FileThe format for each film's file, without the extension.{Movie Title} ({Release Year}) {Quality Full}
ColonsWhat happens to a colon in a title, since a file name can't carry one.Smart

Under each format, Becomes shows what the open film Sintel would be called, so you see the result as you type. Subtitles keep the film's file name and add their language, such as .en.srt.

Tokens

A format is text with tokens in braces. The page lists the common ones: {Movie Title}, {Release Year}, {Quality Full}, {Movie CleanTitle} and {Edition Tags}. highsea uses the same tokens as Radarr, so formats you used there work here.

TokenBecomesFolderFile
{Movie Title}The titleYesYes
{Movie CleanTitle}The title without punctuation, & as "and"YesYes
{Movie TitleThe}The title with "The" moved to the endYesYes
{Movie OriginalTitle}, {Movie CleanOriginalTitle}The title in its original languageYesYes
{Movie Collection}The collection the film belongs toYesYes
{Release Year}The yearYesYes
{ImdbId}, {TmdbId}The film's IMDb or TMDB IDYesYes
{Quality Full}The quality, with Proper or REAL when the release is oneNoYes
{Quality Title}The quality alone, such as Bluray-1080pNoYes
{Release Group}The group that made the releaseNoYes
{Edition Tags}The edition, such as Director's Cut or IMAXNoYes
{Custom Formats}The custom formats the release matchesNoYes
{MediaInfo VideoCodec}, {MediaInfo AudioCodec}, {MediaInfo AudioChannels}Read from the file itselfNoYes
{MediaInfo VideoDynamicRange}, {MediaInfo VideoDynamicRangeType}HDR, and its kind, read from the fileNoYes

A few rules:

  • The case of a token sets the case of its value: {movie title} is lower case, {MOVIE TITLE} upper.
  • A token that has nothing to say, such as {Edition Tags} on a film with no edition, is left out.
  • A / in the file format makes a subfolder.
  • The file format must include the title, so files can be told apart.
  • A folder can't use a token that describes a file, such as {Quality Full}.

highsea refuses to save a format with a token it doesn't know, and says which.

Colons

ChoiceDune: Part Two3:10 to Yuma
Delete themDune Part Two310 to Yuma
Replace with a dashDune- Part Two3-10 to Yuma
Replace with a space and a dashDune - Part Two3 -10 to Yuma
Replace with a dash between spacesDune - Part Two3 - 10 to Yuma
Smart: a dash, with spaces where the title has themDune - Part Two3-10 to Yuma

Smart suits most libraries.

Importing

What happens when a download finishes, or a file is replaced or deleted.

SettingWhat it doesDefault
Use hardlinksA finished download appears in the library as a hardlink: it takes no extra space and the torrent keeps seeding. Off, every import is a copy.On
Write NFO filesWrites an .nfo file beside each film, with poster.jpg and fanart.jpg in its folder, for other media players reading the same folders.Off
Stop monitoring movies whose files I deleteWhen a film's file disappears from disk outside highsea, the film stops being monitored. Otherwise highsea downloads it again.On
Set folder permissionsApplies Folder permissions to folders highsea makes, and to the files it imports. Off, they get what the server's user gives them.Off
Folder permissionsThe mode, as three digits like chmod takes: 755, 775. Files get the same, without the execute bits.755
Recycle binA folder that replaced and deleted files go to first, as a full path. Empty, they're deleted straight away.Empty
Keep deleted files forDays a file stays in the recycle bin before highsea deletes it, up to 3650. 0 keeps them until you empty the bin yourself.7

A hardlink only works when the download and the library are on the same disk or share. When they aren't, or the share refuses hardlinks, highsea copies the file instead, even with Use hardlinks on. A copy takes the space twice while the torrent seeds, except on filesystems that can make copy-on-write copies, where highsea uses one.

highsea writes each file under a temporary name and renames it into place, so a crash never leaves half a file in your library.

Permissions

Leave Set folder permissions off unless something else that reads your library, such as another media player running as a different user, can't open what highsea writes. Then 775 lets everyone in your group write too. The user highsea runs as comes from PUID and PGID in your compose file; see Install with Docker.

Archives

Some releases come as RAR, 7z or zip archives. highsea extracts them on its own, imports the film, then removes the extracted copy. The archives stay, so the torrent keeps seeding. Password-protected archives can't be imported. highsea's Docker image includes the tool it uses; if you run highsea another way and it's missing, System's health list says so.

Keeping up with the disk

highsea notices changes you make to the library yourself:

  • The library scan walks every root folder every 12 hours, and a film's folder again after each import. A file you add to a film's folder is read and recorded; a changed file is read again; a missing file is cleared from its film.
  • Watching sees changes under a root folder as they happen, and asks for a scan of that film's folder a few seconds later.

Watching doesn't work reliably on network shares (SMB and NFS), and Linux limits how many folders can be watched. When a root folder can't be watched, System shows a note, and the 12-hourly scan still finds every change. You can run the scan yourself from System's tasks; see System.

A root folder that can't be read at all, such as an unmounted disk, is skipped whole, so a missing disk is never taken as every file deleted.

Tags

Tags tie films to the indexers, lists and connections that should serve them, and are managed in their own group on this page.

  • An indexer or connection with tags works only for films that share one of them. With no tags, it works for every film.
  • A list's tags go on every film it adds.

Add a tag with New tag, then Add tag. Each tag shows how many films, indexers, lists and connections use it. Rename changes its label everywhere. Remove takes it off everything that has it, after you confirm; an indexer or connection left with no tags works for every film again.

Tags are given to films in each film's edit dialog. See Movies, Indexers, Lists and Notifications.

On this page