Skip to content

Setup: Settings

Arthur Jamet edited this page Mar 15, 2025 · 6 revisions

Meelo is runnable through a Docker container. But it needs a way to be parameterized and persist some data.

Therefore, it is recommended that you create a dedicated folder on your computer for Meelo.

For the sake of clarity, in this documentation, we'll refer to this folder as Meelo.

Configuration files

You need to download the following files:

  • docker-compose.yml
    • Save it as docker-compose.yml
    • You should not have to change it
  • nginx configuration file
    • Save it as-is in the Meelo folder
  • .env
    • Save it as .env in the same directory as the docker-compose.yml file
    • Fill in the empty variables
  • settings.json
    • Change the values according to your needs
    • See next subsection

Content of settings.json

All fields must be specified

  • trackRegex: Probably the most important setting for Meelo. This field takes an array of strings, each string being a Regular Expression string. The RegExp will be used to find the files to import (It will be matched against the absolute path of the file). As mentioned before, the path of the file can be used as a metadata source. Therefore, the Regular Expression accepts groups to find metadata:
    • AlbumArtist: The artist of the parent album.
      • Special Case: If it equals Compilations, related album will be considered as compilation albums (with no main artist, like soundtrack albums)
    • Artist: The artist of the track. If it is not present, it will use the AlbumArtist field.
    • Release: Usually no present in a standard file architecture; the name of the release. When it is not present, the Album field will be used.
    • Album: The name of the album of the material. This field will then be parsed to group related album releases.
    • Year: The Year of the release of the material
    • Disc: The Index of the disc the track is on.
    • DiscName: The Name of the disc the track is on.
    • Index: The index of the track in a playlist/on a disc.
    • Track: The name of the track
    • Genre: The genre of the material
    • BPM: The BPM of the track
    • DiscogsID: The Discogs ID of the parent release. A Discogs ID should take the form of a digit-only string. This ID can be found in the URL of the release's Discogs page or in the top-right corner of that page (displayed as [rXXXXXXXX])
    • Note: If you do not use embedded data, most regex groups are optional. Only Track and (AlbumArtist or Artist) are required for the file to be accepted by the scanner.
  • metadata: Configuration of the metadata extraction system:
    • source: The primary metadata source to use:
      • embedded: Using the embedded tags
      • path: Using the Regular Expression's groups.
    • order: Define the missing metadata fallback behaviour. Note: if this method is enabled, it will consider 'cover.*' file in the same directory as the media file as an illustration candidate.
      • only: If a field is missing from the primary metadata source, will not use the other method to get it.
      • preferred: If a field is missing from the primary metadata source, will try to use the other method to get it.
    • useExternalProviderGenres: Set to true if you want genres from external metadata providers to be used. These genres will be used alongside with embedded genres (if parsing embedded metadata is enabled)
  • providers: Please refer to Providers
  • compilations:
    • artists: Optional field. If an album artist in this list, their albums will be considered to be compilation albums.
    • useID3CompTag: If true, use iTunes' non-standard ID3 tags for compilations.
  • useEmbeddedThumbnails: Optional field. If true, illustrations embedded in video files will be considered as thumbnails, not album artwork.

Note: The provided Regular Expression uses the iTunes file architecture.

Note: Regular Expressions must use the Golang Flavour.