Configuration
aura uses a config.yaml
file for configuration. You can setup the configuration file during the onboarding process. However, if you would like, below are the instructions for creating and modifying the config.yaml
file.
-
Create the
config.yaml
File:- You can create a new file named
config.yaml
in the root directory of your aura installation.
- You can create a new file named
- Edit the
config.yaml
File:- Open the
config.yaml
file in a text editor of your choice. - Modify the configuration settings according to your needs.
- Open the
- Place the
config.yaml
File:- Place your configuration file in the
/config
directory on your Docker container.
- Place your configuration file in the
Configuration Options
Authentication
- Example:
Auth:
Enable: true
Password: $argon2id$v=19$m=16,t=2,p=1$Wlp5RGd4dTNkdmVGVDRkMg$2QEi6FDa4BWDxuGrzhjuVw
While this password authentication method is effective, it is important to keep your password secure and not share it with others. For enhanced security, consider using solutions like Authentik or Authelia.
I am not a security expert đ
Enable
- Default:
false
- Options:
true
orfalse
- Description: Whether to enable authentication.
- Details: If set to
true
, you will be required to authenticate before accessing the application.
Password
- Default:
null
- Options: Any valid Argon2id hash
- Description: The password hash used to authenticate user.
- Details: This password is used to authenticate user when they log in to the application. It is recommended to use a strong, unique password for this purpose. You can generate a new Argon2id hash using tools like Argon2 Online. You can use the default settings.
Logging
- Example:
Logging:
Level: DEBUG
Level
- Default:
TRACE
- Options:
TRACE
,DEBUG
,INFO
,WARN
,ERROR
- Description: The logging level for aura.
- Details:
TRACE
: Most detailed logging, useful for debugging.DEBUG
: Less detailed than TRACE, but still provides useful information for debugging.INFO
: General information about the applicationâs operation.WARN
: Indicates potential issues that are not necessarily errors.ERROR
: Indicates errors that occur during the applicationâs operation.
- Note: The logging level can be adjusted based on your needs. For production environments, it is recommended to use
INFO
orWARN
to reduce log verbosity. If you run into issues, you can temporarily set it toDEBUG
orTRACE
for more detailed logs.
MediaServer
- Example for Plex:
MediaServer:
Type: Plex
URL: http://localhost:32400
Token: your_token_here
Libraries:
- "Movies"
- "TV Shows"
SeasonNamingConvention: 2
â Example for Emby:
MediaServer:
Type: Emby
URL: http://localhost:8096
Token: your_token_here
Libraries:
- "Movies"
- "TV Shows"
â Example for Jellyfin:
MediaServer:
Type: Jellyfin
URL: http://localhost:8096
Token: your_token_here
Libraries:
- "Movies"
- "TV Shows"
Type
- Options:
Plex
,Emby
,Jellyfin
- Description: The type of media server you are using.
- Details: This option specifies the type of media server that aura will interact with. Depending on your choice, aura will use the appropriate API and methods to manage images and metadata.
URL
- Description: The URL of the media server.
- Details: This option specifies the URL of the media server that aura will interact with.
- Note: Make sure to include the protocol (e.g.,
http://
orhttps://
) in the URL. - Example:
http://localhost:32400
,https://my-emby-server.com
, orhttp://jellyfin.example.com
.
Token
- Description: The authentication token for the media server.
- Details: This option specifies the authentication token required to access the media serverâs API. You can obtain this token from your media serverâs settings or API documentation.
- Note: The token is necessary for aura to authenticate and perform actions on your media server. Make sure to keep this token secure and do not share it publicly.
Libraries
- Description: The name of the media server library to use.
- Details: This option specifies the name of the library on your media server that aura will interact with. aura will use this library to manage images and metadata.
- Note: Ensure that the library name matches exactly with the name on your media server, including case sensitivity. Only show and movies libraries are supported.
SeasonNamingConvention
Note: Not needed for Emby/Jellyfin
- Default:
1
- Options:
1
,2
- Description: This is a Plex exclusive requirement. This is the season naming convention for Plex.
- Details: -
1
: Use the format âSeason 1â (e.g., âSeason 1â). -2
: Use the format âSeason 01â (e.g., âSeason 01â).
Mediux
- Example:
Mediux:
APIKey: your_mediux_api_key_here
DownloadQuality: optimized
APIKey
- Description: The API key for Mediux.
- Details: This option specifies the API key required to access Mediuxâs API. This can be obtained by creating an account on Mediux and generating an API key in your account settings.
- Note: This is not yet available to the public, but will be in the future. If you would like to test out aura, please contact us on Discord to get access to the API key.
DownloadQuality
- Default:
optimized
- Options:
optimized
,original
- Description: The quality of images to download from Mediux.
- Details: This option specifies the quality of images to download from Mediux.
optimized
: Downloads images that are optimized for space savings and performance.original
: Downloads the original images without any optimization.
AutoDownload
- Example:
AutoDownload:
Enabled: true
Cron: "0 0 * * *"
Enabled
- Default:
false
- Options:
true
orfalse
- Description: Whether to automatically download images from updated sets.
- Details: When downloading images, you have the option to saved sets for âAutomatic Downloadsâ. If this option is enabled, aura will automatically download images from sets that have been updated. This is useful for keeping your media library up-to-date with the latest images without manual intervention.
- Note: Enabling this option may result in increased network usage as aura will periodically check for updates and download new images.
Cron
- Default:
0 0 * * *
- Options: Cron expression
- Description: The cron expression for scheduling automatic downloads.
- Details: This cron expression determines how often aura checks for updates and downloads images. The default value
0 0 * * *
means that aura will check for updates every day at midnight. You can modify this expression to change the frequency of automatic downloads according to your needs. Note: Make sure to use a valid cron expression. You can use online tools like crontab.guru to help you create and validate cron expressions.
Images
- Example:
Images:
CacheImages:
Enabled: false
SaveImageNextToContent:
Enabled: false
CacheImages.Enabled
- Default:
false
- Options:
true
orfalse
- Description: Whether to cache images locally.
- Details: If set to
true
, aura will cache images to reduce load times and improve performance. This is particularly useful for frequently accessed images.Keep in mind that enabling this option will increase disk space usage as images will be stored locally.
SaveImageNextToContent.Enabled
- Default:
false
- Options:
true
orfalse
- Description: Whether to save images next to the Media Server content.
- Details:
- If
true
, images are saved in the same directory as the Media Server content. - If
false
, images are updated on the Media Server but not saved next to the content. - For Emby or Jellyfin, this option is ignored (handled by the server).
- For Plex, this option determines if images are saved next to content.
- If
Labels and Tags
Aura supports adding and removing labels (tags) on Plex items after processing. This is useful for organizing your media library, marking items for automation, or integrating with other tools.
- Example:
LabelsAndTags:
Applications:
- Application: Plex
Enabled: true
Add:
- "Overlay"
- "4K"
Remove:
- "OldLabel"
Applications
- Description:
An array of label/tag configuration blocks, one per supported application (currently only Plex is supported). - Fields:
Application
: The name of the application (e.g.,Plex
).Enabled
: Set totrue
to enable label/tag management for this application.Add
: A list of labels/tags to add to items after processing.Remove
: A list of labels/tags to remove from items after processing.
Example Use Case
If you want Aura to add the labels Overlay
and 4K
to your Plex items, and remove the label OldLabel
, your config would look like:
LabelsAndTags:
Applications:
- Application: Plex
Enabled: true
Add:
- "Overlay"
- "4K"
Remove:
- "OldLabel"
Notes
- You can leave
Add
orRemove
empty if you only want to add or only want to remove labels. - Only applications with
Enabled: true
will be processed. - This structure is extensible for future support of other applications (such as Sonarr or Radarr).
Notifications
Configure one or more providers. Notifications can be disabled globally or per provider.
Example:
Notifications:
Enabled: true # Master switch (false = ignore all providers)
Providers:
- Provider: "Discord"
Enabled: true
Discord:
Webhook: "https://discord.com/api/webhooks/123456789/abcdefghijklmnopqrstuvwxyz"
- Provider: "Pushover"
Enabled: true
Pushover:
Token: YOUR_PUSHOVER_APP_TOKEN
UserKey: YOUR_PUSHOVER_USER_KEY
- Provider: "Gotify"
Enabled: true
Gotify:
URL: YOUR_GOTIFY_SERVER_URL
Token: YOUR_GOTIFY_APP_TOKEN
Structure
- Notifications.Enabled
Global on/off. If false, Providers are loaded but not used. - Notifications.Providers[]
Array of provider entries.
Provider Entry Fields
Field | Required | Notes |
---|---|---|
Provider | yes | Case-sensitive. Supported: Discord, Pushover |
Enabled | yes | If false, entry kept but skipped |
Discord.Webhook | yes (when Provider=Discord & Enabled) | Full Discord webhook URL |
Pushover.Token | yes (when Provider=Pushover & Enabled) | Your app token |
Pushover.UserKey | yes (when Provider=Pushover & Enabled) | Your user key |
Gotify.URL | yes (when Provider=Gotify & Enabled) | Base URL for your Gotify server |
Gotify.Token | yes (when Provider=Gotify & Enabled) | Your Gotify app token |