Skip to content

Configuration

Overview

All configurations can be set using environment variables or by providing a configuration file. If the same option is provided twice, the following priority is used:

  • Environment Variable
  • Configuration File
  • Default Value

Configuration File

You can create a configuration file (json) to provide some options.

json
{
    "webServer": {
        "listen": "localhost:80"
    },
    "database": {
        "type": "postgres"
    }
}

Then provide the file name and path as an argument during Marty Media Server startup:

./marty-media-server server -config=config.json

Options

Database

Environment VariableConfiguration File PathDefault Value
MMS_DATABASE_TYPEdatabase.type"postgres"
MMS_DATABASE_POSTGRES_ADDRESSdatabase.postgres.address""
MMS_DATABASE_POSTGRES_PORTdatabase.postgres.port5432
MMS_DATABASE_POSTGRES_USERdatabase.postgres.user""
MMS_DATABASE_POSTGRES_PASSWORDdatabase.postgres.password""
MMS_DATABASE_POSTGRES_DATABASEdatabase.postgres.database""
MMS_DATABASE_POSTGRES_MAX_OPEN_CONNECTIONSdatabase.postgres.maxOpenConnections8

Storage

Environment VariableConfiguration File PathDefault Value
MMS_STORAGE_TEMP_DIRstorage.tempDirdefault temporary directory depending on the operating system
MMS_STORAGE_CACHE_SIZEstorage.cache.size200000000 (200 GB)

WebServer

Marty Media Server starts on port 43200. So you can access the server using the following URL: http://localhost:43200

The following additional URLs are provided by the server:

  • /web serves the UI / main frontend
  • /api/v1 serves the API endpoint for all server actions
  • /apidoc/v1/swagger/index.html serves the documentation for the API endpoint

Using HTTPS

Marty Media Server runs only on HTTP, but it's strongly recommended to expose the service only on HTTPS. You have multiple options (depending on your setup):

  • Ingress Controller (e.g., Traefik or Nginx)
  • WebServer with HTTPS as proxy (e.g., Nginx)