Configure Melon
Configuring melon is super easy. Once you've run through the console setup once, you'll have access to the Console Settings Menu from the Console Main Menu. You can control most of Melon's Settings from within this submenu. Many of these settings also have endpoints for controlling them as well.
Melon Scanner Settings
The MSS Settings submenu has options for controlling how the scanner operates.
-
Edit Library Paths
- Change the paths that Melon will look through to find music files.
-
Endpoint:
api/settings/scanner/library-paths
(GET/POST)
-
Artist Split Indicators
-
Change the indicators the scanner uses to detect where to split
artist names. For example:
artist 1, artist 2; artist 3 // artist 4
-
Endpoint
api/settings/scanner/artist-split-indicators
(GET/POST)
-
Change the indicators the scanner uses to detect where to split
artist names. For example:
-
Genre Split Indicators
-
Change the indicators the scanner uses to detect where to split
genre names. For example:
genre 1, genre 2; genre 3 // genre 4
-
Endpoint
api/settings/scanner/genre-split-indicators
(GET/POST)
-
Change the indicators the scanner uses to detect where to split
genre names. For example:
Network Settings
-
Edit MongoDb Connection
- This allows you to change the URL that points to your MongoDb instance. Required for Melon to work.
-
Edit Listening URL
-
Change the URL + Port that the server is listening to traffic on.
Must be a valid http(s) url type, wildcards are supported. Default
is
http://*:14524
-
Change the URL + Port that the server is listening to traffic on.
Must be a valid http(s) url type, wildcards are supported. Default
is
-
Configure HTTPS
- HTTPS enables a secure connection to your server by encrypting your traffic. To do this, you'll need to setup an SSL certificate. For more information, check out CertBot.
- Once you have an SSL Certificate, follow the Console Menu instructions and point melon to your .pfx file along with your password.
- You can edit or disable SSL from here anytime.
- **You will be notified when your SSL Cert expires on launch / when attempting to configure HTTPS.
Menu Customization
-
Change Default Language
- Melon has support for translations, by simply copying the EN strings and replacing them with localized ones, you can help contribute to the support languages. Right now, only English and Spanish(Experimental) are supported.
-
Edit Colors
- The Melon Console interface uses different colors for highlights, title bars, text, etc. These colors can be set using arrow-key controlled RGB sliders.
Plugins
-
View Plugins
- See loaded plugins, and enable/disable them
-
Endpoint:
api/settings/plugins/list
/api/settings/plugins/enable
/api/settings/plugins/disable
-
Plugins Settings
- Holds any custom added settings UI
-
Rescan plugins folder
- Checks the plugins folder for new plugins
-
Endpoint:
api/settings/plugins/rescan
-
Reload all plugins
- Unloads and reloads all currently loaded plugins
-
Endpoint:
api/settings/plugins/reload
Database Settings
-
Backup Database
- Makes a backup up the MongoDB database to a folder in Melon/Exports/DbBackups
- Quick Operations even with thousands of files
-
Endpoint:
api/settings/db/backup
-
Load from Backup
- View backups and pick one to load and override the db with
-
Endpoint:
api/settings/db/view-backups
/api/settings/db/load-backup
-
Reset DB
- Resets the entire database, except for User Accounts. User stats such as plays and ratings, playlists, etc will all be lost.
-
Endpoint:
api/settings/db/reset
-
Export Playlist
- Exports a playlist to a m3u/pls/xml file.
-
Endpoint:
api/settings/db/export-playlist
-
Import Playlist
- Imports a playlist file into Melon, accepts m3u/pls/xml
-
Endpoint:
api/settings/db/import-playlist
-
Queue Cleanup Frequency
- Queues get auto deleted after X amount of time (default 48 hours) Unless you favorite them, or set this value to -1.
- Endpoint: `api/settings/db/queue-cleanup-frequency (GET/POST)
Open Melon Folder
This opens the folder where melon's configs, assets, and logs are stored.
Checking For Updates
Melon can check for updates when asked to. It will pull from the GitHub's latest releases and compare version numbers. It can shut down the server on it's own and restart it when the update is applied.
Melon Launch Configuration
Flags
Melon has a flags.json file used to mark flags that can be set for debugging or troubleshooting. The flags available are:
-
ForceOOBE
- Forces the Out Of Box Experience, where you'll be taken back through first time setup.
-
DisablePlugins
- Disables all loading of plugins.
Launch Args
There are a few launch arguments you can use to customize Melon before
launch. Plugins can also add their own launch args to the help menu, and
listen to for them. So you may want to try
MelonWebApi.exe --help
just to see what you can do.
Arg | Description | Field |
---|---|---|
--help | Shows a help menu | |
--headless / -h | Disables Console Menus and just outputs logs to the console | |
--setup / -s | Force launch into the OOBE | |
--disablePlugins, / -d | Force disable plugins | |
--version / -v | Show the current Version of Melon | |
--lang / -l | Set the launch language for the console | string langCode |
--allowConversion / -c | Automatically allow conversion of mismatched database object versions instead of asking. (required if you launch in headless and need to convert) |