# Golem Configuration
Golem is configured via a config.yml
file. This file controls everything from being able to log Golem into Discord, to what modules to load.
# Example Configuration File
This is an example configuration file, with specifics blocked out. A detailed explanation of these fields can be found below.
---
discord:
token: xxxx
clientId: xxxx
serverIds:
- xxxx
adminId: xxxx
image:
fallbackPath: "/path/to/default/logo"
avgColorAlgorithm: sqrt
lastfm:
apiKey: xxxx
library:
paths:
- "/path/to/library-1"
- "/path/to/library-2"
mongo:
uri: mongodb://mongo-db-location
dbName: golem-dev
plex:
uri: http://xxxx
appId: xxxx
username: xxxx
password: xxxx
search:
forceWeightTerms:
- instrumental
- inst.
- remix
web:
apiPort: 3828
youtube:
ytdlpPath: "/path/to/ytdlp"
# Configuration Breakdown
# Discord Core
Configures how Golem will interact with Discord. Golem will exit during startup if these values are not present.
- token -
string
: The token of your Golem, can be found in the Discord Developer Portal (opens new window) - clientId -
string
: The client id of your Golem - serverIds -
string[]
: A list of servers that you wish to register slash commands to. These are not the servers that your Golem can join.
# Image
- fallbackPath -
string
: The default image to display for album art in the case that the playing track has no album art - avgColorAlgorithm -
'sqrt' | 'dominant' | 'simple'
: The algorithm to use when determining the average color of an image. This is used to style the embed accent when presenting track information. Defaults to'sqrt
'.
# LastFm LastFM
Omitting this field or setting it to a falsy value will disable the LastFM Module.
- apiKey -
string
: Your API Key to LastFm. Used for the$go mix
command.
# Library Music
- paths -
string[]
: Absolute paths to your local libraries.
# Mongo
- uri -
string
: The URI of your Mongo instance. Mongo is used to store Custom Aliases, Track Play Records, and Library Caches. - dbName -
string
: The name of this Database in Mongo. Defaults to'golem'
# Plex Plex
- uri -
string
: The URI of the Plex Media Server to pull playlists from - appId -
string
: A unique id for your Golem to talk to Plex. It is highly recommended to set this value, without it Plex will register a new log in each time Golem starts. - username -
string
: The username of the Plex account that will be used to access the above Plex Media Server - password -
string
: The password of the above Plex account.
# Search
- forceWeightTerms -
string[]
: Terms that should reduce search relevance. For example,TWICE - I Can't Stop Me
andTWICE - I Can't Stop Me English Ver.
may both score the same on a LocalTrack search query. By addingenglish
toforceWeightTerms
you are more likely to receive the original version unless you query withenglish
explicitly.
# Web Web
- apiPort -
string
: The port to start the Web server on. Defaults to3000
# YouTube Youtube
- ytdlpPath -
string
: The path to your ytdlp that will be used to access YouTube videos.