2020-07-31 15:09:30 +00:00
{
2021-01-05 18:16:23 +00:00
"order" : [ ] ,
"sections" : {
2021-03-07 15:23:44 +00:00
"updates" : {
"order" : [ ] ,
"meta" : {
"name" : "Updates" ,
"description" : "Settings for update notifications and release channel."
} ,
"settings" : {
"enabled" : {
"name" : "Enabled" ,
"required" : true ,
"requires_restart" : true ,
"type" : "bool" ,
"value" : true ,
"description" : "Enable/disable updating notifications and downloading/applying updates."
} ,
"channel" : {
"name" : "Release Channel" ,
"required" : true ,
"requires_restart" : false ,
"type" : "select" ,
"options" : [
[ "stable" , "Stable" ] ,
[ "unstable" , "Unstable" ]
] ,
"value" : "" ,
"description" : "Release channel for updates."
}
}
} ,
2021-01-05 18:16:23 +00:00
"jellyfin" : {
"order" : [ ] ,
"meta" : {
"name" : "Jellyfin" ,
"description" : "Settings for connecting to Jellyfin"
} ,
"settings" : {
"username" : {
"name" : "Jellyfin Username" ,
"required" : true ,
"requires_restart" : true ,
"type" : "text" ,
"value" : "username" ,
"description" : "It is recommended to create a limited admin account for this program."
} ,
"password" : {
"name" : "Jellyfin Password" ,
"required" : true ,
"requires_restart" : true ,
"type" : "password" ,
"value" : "password"
} ,
"server" : {
"name" : "Server address" ,
"required" : true ,
"requires_restart" : true ,
"type" : "text" ,
"value" : "http://jellyfin.local:8096" ,
"description" : "Jellyfin server address. Can be public, or local for security purposes."
} ,
"public_server" : {
"name" : "Public address" ,
"required" : false ,
"requires_restart" : false ,
"type" : "text" ,
"value" : "https://jellyf.in:443" ,
"description" : "Publicly accessible Jellyfin address for invite form. Leave blank to reuse the above address."
} ,
"client" : {
"name" : "Client Name" ,
"required" : true ,
"requires_restart" : true ,
2021-03-15 22:51:17 +00:00
"advanced" : true ,
2021-01-05 18:16:23 +00:00
"type" : "text" ,
"value" : "jfa-go" ,
"description" : "The name of the client that will show up in the Jellyfin dashboard."
} ,
"cache_timeout" : {
"name" : "User cache timeout (minutes)" ,
"required" : false ,
"requires_restart" : true ,
2021-03-15 22:51:17 +00:00
"advanced" : true ,
2021-01-05 18:16:23 +00:00
"type" : "number" ,
"value" : 30 ,
"description" : "Timeout of user cache in minutes. Set to 0 to disable."
2021-01-09 20:38:13 +00:00
} ,
"type" : {
"name" : "Server type" ,
"required" : false ,
"requires_restart" : true ,
"type" : "select" ,
"options" : [
2021-01-31 18:50:04 +00:00
[ "jellyfin" , "Jellyfin" ] ,
[ "emby" , "Emby" ]
2021-01-09 20:38:13 +00:00
] ,
"value" : "jellyfin" ,
2021-01-31 23:12:50 +00:00
"description" : "Note: Emby integration works but is missing some features, such as Password Resets."
2021-01-10 15:51:04 +00:00
} ,
"substitute_jellyfin_strings" : {
"name" : "Substitute occurrences of \"Jellyfin\"" ,
"required" : false ,
"requires_restart" : true ,
"type" : "text" ,
"value" : "" ,
2021-02-18 18:26:23 +00:00
"description" : "Optionally substitute occurrences of \"Jellyfin\" in the account creation form and emails with this. May result in bad grammar."
2021-01-05 18:16:23 +00:00
}
}
} ,
"ui" : {
"order" : [ ] ,
"meta" : {
"name" : "General" ,
"description" : "Settings related to the UI and program functionality."
} ,
"settings" : {
2021-01-12 23:37:22 +00:00
"language-form" : {
2021-01-11 19:17:43 +00:00
"name" : "Default Form Language" ,
2021-01-05 18:16:23 +00:00
"required" : false ,
"requires_restart" : true ,
"type" : "select" ,
"options" : [
2021-01-31 18:50:04 +00:00
[ "en-us" , "English (US)" ]
2021-01-05 18:16:23 +00:00
] ,
2021-01-18 00:14:12 +00:00
"value" : "en-us" ,
2021-06-30 17:06:31 +00:00
"description" : "Default Account Form Language. Visit weblate.jfa-go.com if you'd like to translate."
2021-01-12 23:37:22 +00:00
} ,
"language-admin" : {
"name" : "Default Admin Language" ,
"required" : false ,
"requires_restart" : true ,
"type" : "select" ,
"options" : [
2021-01-31 18:50:04 +00:00
[ "en-us" , "English (US)" ]
2021-01-12 23:37:22 +00:00
] ,
2021-01-18 00:14:12 +00:00
"value" : "en-us" ,
2021-06-30 17:06:31 +00:00
"description" : "Default Admin page Language. Settings has not been translated. Visit weblate.jfa-go.com if you'd like to translate."
2021-01-05 18:16:23 +00:00
} ,
"theme" : {
"name" : "Default Look" ,
"required" : false ,
"requires_restart" : true ,
"type" : "select" ,
"options" : [
2021-01-31 18:50:04 +00:00
[ "Jellyfin (Dark)" , "Jellyfin (Dark)" ] ,
[ "Default (Light)" , "Default (Light)" ]
2021-01-05 18:16:23 +00:00
] ,
"value" : "Jellyfin (Dark)" ,
"description" : "Default appearance for all users."
} ,
"host" : {
"name" : "Address" ,
"required" : true ,
"requires_restart" : true ,
"type" : "text" ,
"value" : "0.0.0.0" ,
"description" : "Set 0.0.0.0 to run on localhost"
} ,
"port" : {
"name" : "Port" ,
"required" : true ,
"requires_restart" : true ,
"type" : "number" ,
"value" : 8056
} ,
"jellyfin_login" : {
"name" : "Use Jellyfin for authentication" ,
"required" : false ,
"requires_restart" : true ,
"type" : "bool" ,
"value" : true ,
"description" : "Enable this to use Jellyfin users instead of the below username and pw."
} ,
"admin_only" : {
"name" : "Allow admin users only" ,
"required" : false ,
"requires_restart" : true ,
"depends_true" : "jellyfin_login" ,
"type" : "bool" ,
"value" : true ,
"description" : "Allows only admin users on Jellyfin to access the admin page."
} ,
"username" : {
"name" : "Web Username" ,
"required" : true ,
"requires_restart" : true ,
"depends_false" : "jellyfin_login" ,
"type" : "text" ,
"value" : "your username" ,
"description" : "Username for admin page (Leave blank if using jellyfin_login)"
} ,
"password" : {
"name" : "Web Password" ,
"required" : true ,
"requires_restart" : true ,
"depends_false" : "jellyfin_login" ,
"type" : "password" ,
"value" : "your password" ,
"description" : "Password for admin page (Leave blank if using jellyfin_login)"
} ,
"email" : {
"name" : "Admin email address" ,
"required" : false ,
"requires_restart" : false ,
"depends_false" : "jellyfin_login" ,
"type" : "text" ,
"value" : "example@example.com" ,
"description" : "Address to send notifications to (Leave blank if using jellyfin_login)"
} ,
"debug" : {
"name" : "Debug logging" ,
"required" : false ,
"requires_restart" : true ,
"type" : "bool" ,
"value" : false ,
"description" : "Enables debug logging and exposes pprof as a route (Don't use in production!)"
} ,
"contact_message" : {
"name" : "Contact message" ,
"required" : false ,
"requires_restart" : false ,
"type" : "text" ,
"value" : "Need help? contact me." ,
"description" : "Displayed at bottom of all pages except admin"
} ,
"help_message" : {
"name" : "Help message" ,
"required" : false ,
"requires_restart" : false ,
"type" : "text" ,
"value" : "Enter your details to create an account." ,
"description" : "Displayed at top of invite form."
} ,
"success_message" : {
"name" : "Success message" ,
"required" : false ,
"requires_restart" : false ,
"type" : "text" ,
"value" : "Your account has been created. Click below to continue to Jellyfin." ,
"description" : "Displayed when a user creates an account"
} ,
"url_base" : {
"name" : "URL Base" ,
"required" : false ,
"requires_restart" : true ,
"type" : "text" ,
"value" : "" ,
2021-08-26 20:03:02 +00:00
"description" : "URL base for when running jfa-go with a reverse proxy in a subfolder. include preceding /, e.g \"/accounts\"."
2021-12-20 20:44:08 +00:00
} ,
"redirect_url" : {
"name" : "Form success redirect URL" ,
"required" : false ,
"requires_restart" : false ,
"type" : "text" ,
"value" : "" ,
"advanced" : true ,
"description" : "Set a different URL for the sign-up form to redirect the user to when they've signed up. Default to 'Public Server' or 'Server' in the Jellyfin tab."
2021-01-05 18:16:23 +00:00
}
}
} ,
2021-01-15 14:41:44 +00:00
"advanced" : {
"order" : [ ] ,
"meta" : {
"name" : "Advanced" ,
"description" : "Advanced settings."
} ,
"settings" : {
"tls" : {
"name" : "TLS/HTTP2" ,
"required" : false ,
"requires_restart" : true ,
"type" : "bool" ,
"value" : false ,
2021-01-15 18:57:12 +00:00
"description" : "Enable TLS."
2021-01-15 14:41:44 +00:00
} ,
"tls_port" : {
"name" : "TLS Port" ,
"depends_true" : "tls" ,
"required" : false ,
"requires_restart" : true ,
"type" : "number" ,
"value" : 8057 ,
"description" : "Port to run TLS server on"
} ,
"tls_cert" : {
"name" : "Path to TLS Certificate" ,
"depends_true" : "tls" ,
"required" : false ,
"requires_restart" : true ,
"type" : "text" ,
"value" : "" ,
"description" : "Path to .crt file. See jfa-go wiki for more info."
} ,
"tls_key" : {
"name" : "Path to TLS Key file" ,
"depends_true" : "tls" ,
"required" : false ,
"requires_restart" : true ,
"type" : "text" ,
"value" : "" ,
"description" : "Path to .key file. See jfa-go wiki for more info."
}
}
} ,
2021-01-05 18:16:23 +00:00
"password_validation" : {
"order" : [ ] ,
"meta" : {
"name" : "Password Validation" ,
"description" : "Password validation (minimum length, etc.)"
} ,
"settings" : {
"enabled" : {
"name" : "Enabled" ,
"required" : false ,
"requires_restart" : false ,
"type" : "bool" ,
"value" : true
} ,
"min_length" : {
"name" : "Minimum Length" ,
"requires_restart" : false ,
"depends_true" : "enabled" ,
"type" : "text" ,
"value" : "8"
} ,
"upper" : {
"name" : "Minimum uppercase characters" ,
"requires_restart" : false ,
"depends_true" : "enabled" ,
"type" : "text" ,
"value" : "1"
} ,
"lower" : {
"name" : "Minimum lowercase characters" ,
"requires_restart" : false ,
"depends_true" : "enabled" ,
"type" : "text" ,
"value" : "0"
} ,
"number" : {
"name" : "Minimum number count" ,
"requires_restart" : false ,
"depends_true" : "enabled" ,
"type" : "text" ,
"value" : "1"
} ,
"special" : {
"name" : "Minimum number of special characters" ,
"requires_restart" : false ,
"depends_true" : "enabled" ,
"type" : "text" ,
"value" : "0"
}
}
2020-07-31 15:09:30 +00:00
} ,
2021-05-07 20:53:29 +00:00
"messages" : {
2021-01-05 18:16:23 +00:00
"order" : [ ] ,
"meta" : {
2021-05-07 20:53:29 +00:00
"name" : "Messages/Notifications" ,
"description" : "General settings for emails/messages."
2021-01-05 18:16:23 +00:00
} ,
"settings" : {
2021-05-07 20:53:29 +00:00
"enabled" : {
"name" : "Enabled" ,
"required" : true ,
"requires_restart" : true ,
2021-01-05 18:16:23 +00:00
"type" : "bool" ,
2021-05-07 20:53:29 +00:00
"value" : true ,
"description" : "Enable the sending of emails/messages such as password resets, announcements, etc."
2021-01-05 18:16:23 +00:00
} ,
"use_24h" : {
"name" : "Use 24h time" ,
"required" : false ,
"requires_restart" : false ,
"depends_true" : "method" ,
"type" : "bool" ,
"value" : true
} ,
"date_format" : {
"name" : "Date format" ,
"required" : false ,
"requires_restart" : false ,
2021-03-15 22:51:17 +00:00
"advanced" : true ,
2021-01-05 18:16:23 +00:00
"depends_true" : "method" ,
"type" : "text" ,
"value" : "%d/%m/%y" ,
"description" : "Date format used in emails. Follows datetime.strftime format."
} ,
"message" : {
"name" : "Help message" ,
"required" : false ,
"requires_restart" : false ,
"depends_true" : "method" ,
"type" : "text" ,
"value" : "Need help? contact me." ,
"description" : "Message displayed at bottom of emails."
2021-05-07 20:53:29 +00:00
}
}
} ,
"email" : {
"order" : [ ] ,
"meta" : {
"name" : "Email" ,
"description" : "General email settings." ,
"depends_true" : "messages|enabled"
} ,
"settings" : {
"language" : {
"name" : "Email Language" ,
"required" : false ,
"requires_restart" : false ,
"depends_true" : "method" ,
"type" : "select" ,
"options" : [
[ "en-us" , "English (US)" ]
] ,
"value" : "en-us" ,
"description" : "Default email language. Submit a PR on github if you'd like to translate."
} ,
"no_username" : {
"name" : "Use email addresses as username" ,
"required" : false ,
"requires_restart" : false ,
"depends_true" : "method" ,
"type" : "bool" ,
"value" : false ,
"description" : "Use email address from invite form as username on Jellyfin."
2021-01-05 18:16:23 +00:00
} ,
"method" : {
"name" : "Email method" ,
"required" : false ,
"requires_restart" : false ,
"type" : "select" ,
"options" : [
2021-01-31 18:50:04 +00:00
[ "" , "Disabled" ] ,
[ "smtp" , "SMTP" ] ,
[ "mailgun" , "Mailgun" ]
2021-01-05 18:16:23 +00:00
] ,
"value" : "smtp" ,
"description" : "Method of sending email to use."
} ,
"address" : {
"name" : "Sent from (address)" ,
"required" : false ,
"requires_restart" : false ,
"depends_true" : "method" ,
"type" : "email" ,
"value" : "jellyfin@jellyf.in" ,
"description" : "Address to send emails from"
} ,
"from" : {
"name" : "Sent from (name)" ,
"required" : false ,
"requires_restart" : false ,
"depends_true" : "method" ,
"type" : "text" ,
"value" : "Jellyfin" ,
"description" : "The name of the sender"
2021-02-18 18:26:23 +00:00
} ,
"plaintext" : {
"name" : "Send emails as plain text" ,
"required" : false ,
"requires_restart" : false ,
2021-03-15 22:51:17 +00:00
"advanced" : true ,
2021-02-18 18:26:23 +00:00
"depends_true" : "method" ,
"type" : "bool" ,
"value" : false ,
"description" : "Send emails as plain text instead of HTML."
2021-12-20 18:44:31 +00:00
} ,
"required" : {
"name" : "Require on sign-up" ,
"required" : false ,
"requires_restart" : false ,
"depends_true" : "method" ,
"type" : "bool" ,
"value" : false ,
"description" : "Require an email address on sign-up."
2021-01-05 18:16:23 +00:00
}
}
} ,
2021-05-07 20:53:29 +00:00
"mailgun" : {
"order" : [ ] ,
"meta" : {
"name" : "Mailgun (Email)" ,
"description" : "Mailgun API connection settings" ,
"depends_true" : "email|method"
} ,
"settings" : {
"api_url" : {
"name" : "API URL" ,
"required" : false ,
"requires_restart" : false ,
"type" : "text" ,
"value" : "https://api.mailgun.net..."
} ,
"api_key" : {
"name" : "API Key" ,
"required" : false ,
"requires_restart" : false ,
"type" : "text" ,
"value" : "your api key"
}
}
} ,
"smtp" : {
"order" : [ ] ,
"meta" : {
"name" : "SMTP (Email)" ,
"description" : "SMTP Server connection settings." ,
"depends_true" : "email|method"
} ,
"settings" : {
"username" : {
"name" : "Username" ,
"required" : false ,
"requires_restart" : false ,
"type" : "text" ,
"value" : "" ,
"description" : "Username for SMTP. Leave blank to user send from address as username."
} ,
"encryption" : {
"name" : "Encryption Method" ,
"required" : false ,
"requires_restart" : false ,
"type" : "select" ,
"options" : [
[ "ssl_tls" , "SSL/TLS" ] ,
[ "starttls" , "STARTTLS" ]
] ,
"value" : "starttls" ,
"description" : "Your email provider should provide different ports for each encryption method. Generally 465 for ssl_tls, 587 for starttls."
} ,
"server" : {
"name" : "Server address" ,
"required" : false ,
"requires_restart" : false ,
"type" : "text" ,
"value" : "smtp.jellyf.in" ,
"description" : "SMTP Server address."
} ,
"port" : {
"name" : "Port" ,
"required" : false ,
"requires_restart" : false ,
"type" : "number" ,
"value" : 465
} ,
"password" : {
"name" : "Password" ,
"required" : false ,
"requires_restart" : false ,
"type" : "password" ,
"value" : "smtp password"
} ,
2021-10-07 11:01:42 +00:00
"hello_hostname" : {
"name" : "HELLO Hostname" ,
"required" : false ,
"requires_restart" : false ,
"advanced" : true ,
"type" : "text" ,
"value" : "localhost" ,
"description" : "Hostname sent when sending HELLO to the SMTP server. Some servers don't like the default \"localhost\" value, such as smtp-relay.gmail.com."
} ,
2021-05-07 20:53:29 +00:00
"ssl_cert" : {
"name" : "Path to custom SSL certificate" ,
"required" : false ,
"requires_restart" : false ,
"advanced" : true ,
"type" : "text" ,
"value" : "" ,
"description" : "Use if your SMTP server's SSL Certificate is not trusted by the system."
2021-11-08 19:48:55 +00:00
} ,
"cert_validation" : {
"name" : "Verify certificate" ,
"required" : false ,
"requires_restart" : false ,
"advanced" : true ,
"type" : "bool" ,
"value" : true ,
"description" : "Warning, disabling this makes you much more vulnerable to man-in-the-middle attacks"
2021-05-07 20:53:29 +00:00
}
}
} ,
2021-05-17 22:42:33 +00:00
"discord" : {
"order" : [ ] ,
"meta" : {
"name" : "Discord" ,
"description" : "Settings for Discord invites/signup/notifications"
} ,
"settings" : {
"enabled" : {
"name" : "Enabled" ,
"required" : false ,
"requires_restart" : true ,
"type" : "bool" ,
"value" : false ,
"description" : "Enable signup verification through Discord and the sending of notifications through it.\nSee the jfa-go wiki for setting up a bot."
} ,
2021-11-17 16:49:26 +00:00
"show_on_reg" : {
"name" : "Show on user registration" ,
"required" : false ,
"requires_restart" : true ,
"type" : "bool" ,
"depends_true" : "enabled" ,
"value" : true ,
"description" : "Allow users to link their Discord on the registration page."
} ,
2021-05-17 22:42:33 +00:00
"required" : {
"name" : "Require on sign-up" ,
"required" : false ,
2021-11-17 16:49:26 +00:00
"requires_restart" : true ,
2021-05-17 22:42:33 +00:00
"depends_true" : "enabled" ,
"type" : "bool" ,
"value" : false ,
2021-05-31 19:32:16 +00:00
"description" : "Require Discord connection on sign-up. See the jfa-go wiki for info on setting this up."
2021-05-17 22:42:33 +00:00
} ,
"token" : {
"name" : "API Token" ,
"required" : false ,
"requires_restart" : true ,
"depends_true" : "enabled" ,
"type" : "text" ,
"value" : "" ,
"description" : "Discord Bot API Token."
} ,
"start_command" : {
"name" : "Start command" ,
"required" : false ,
"requires_restart" : true ,
"depends_true" : "enabled" ,
"type" : "text" ,
"value" : "!start" ,
"description" : "Command to start the user verification process."
} ,
2021-05-21 20:35:25 +00:00
"channel" : {
"name" : "Channel to monitor" ,
"required" : false ,
"requires_restart" : true ,
2021-05-23 18:50:03 +00:00
"depends_true" : "enabled" ,
2021-05-21 20:35:25 +00:00
"type" : "text" ,
"value" : "" ,
"description" : "Only listen to commands in specified channel. Leave blank to monitor all."
} ,
2021-05-23 18:50:03 +00:00
"provide_invite" : {
"name" : "Provide server invite" ,
"required" : false ,
"requires_restart" : true ,
"depends_true" : "enabled" ,
"type" : "bool" ,
"value" : false ,
"description" : "Generate a one-time discord server invite for the account creation form. Required Bot permission \"Create instant invite\", you may need to re-add the bot to your server after."
} ,
"invite_channel" : {
"name" : "Invite channel" ,
"required" : false ,
"requires_restart" : true ,
"depends_true" : "provide_invite" ,
"type" : "text" ,
"value" : "" ,
"description" : "Channel to invite new users to."
} ,
2021-05-17 22:42:33 +00:00
"language" : {
"name" : "Language" ,
"required" : false ,
"requires_restart" : false ,
"depends_true" : "enabled" ,
"type" : "select" ,
"options" : [
[ "en-us" , "English (US)" ]
] ,
"value" : "en-us" ,
"description" : "Default Discord message language. Visit weblate if you'd like to translate."
}
}
} ,
2021-05-07 20:53:29 +00:00
"telegram" : {
"order" : [ ] ,
"meta" : {
"name" : "Telegram" ,
2021-05-31 19:32:16 +00:00
"description" : "Settings for Telegram signup/notifications. See the jfa-go wiki for info on setting this up."
2021-05-07 20:53:29 +00:00
} ,
"settings" : {
"enabled" : {
"name" : "Enabled" ,
"required" : false ,
"requires_restart" : true ,
"type" : "bool" ,
"value" : false ,
2021-05-07 22:36:46 +00:00
"description" : "Enable signup verification through Telegram and the sending of notifications through it.\nSee the jfa-go wiki for setting up a bot."
2021-05-07 20:53:29 +00:00
} ,
2021-11-17 16:49:26 +00:00
"show_on_reg" : {
"name" : "Show on user registration" ,
"required" : false ,
"requires_restart" : true ,
"type" : "bool" ,
"depends_true" : "enabled" ,
"value" : true ,
"description" : "Allow users to link their Telegram on the registration page."
} ,
2021-05-07 20:53:29 +00:00
"required" : {
"name" : "Require on sign-up" ,
"required" : false ,
"required_restart" : true ,
2021-05-17 22:42:33 +00:00
"depends_true" : "enabled" ,
2021-05-07 20:53:29 +00:00
"type" : "bool" ,
"value" : false ,
"description" : "Require telegram connection on sign-up."
} ,
"token" : {
"name" : "API Token" ,
"required" : false ,
"requires_restart" : true ,
"depends_true" : "enabled" ,
"type" : "text" ,
"value" : "" ,
"description" : "Telegram Bot API Token."
} ,
"language" : {
"name" : "Language" ,
"required" : false ,
"requires_restart" : false ,
"depends_true" : "enabled" ,
"type" : "select" ,
"options" : [
[ "en-us" , "English (US)" ]
] ,
"value" : "en-us" ,
"description" : "Default telegram message language. Visit weblate if you'd like to translate."
}
}
} ,
2021-05-29 16:43:11 +00:00
"matrix" : {
"order" : [ ] ,
"meta" : {
"name" : "Matrix" ,
2021-05-31 19:32:16 +00:00
"description" : "Settings for Matrix invites/signup/notifications. See the jfa-go wiki for info on setting this up."
2021-05-29 16:43:11 +00:00
} ,
"settings" : {
"enabled" : {
"name" : "Enabled" ,
"required" : false ,
"requires_restart" : true ,
"type" : "bool" ,
"value" : false ,
"description" : "Enable signup verification through Matrix and the sending of notifications through it.\nSee the jfa-go wiki for setting up a bot."
} ,
2021-11-17 16:49:26 +00:00
"show_on_reg" : {
"name" : "Show on user registration" ,
"required" : false ,
"requires_restart" : true ,
"type" : "bool" ,
"depends_true" : "enabled" ,
"value" : true ,
"description" : "Allow users to link their Matrix on the registration page."
} ,
2021-05-29 16:43:11 +00:00
"required" : {
"name" : "Require on sign-up" ,
"required" : false ,
"required_restart" : true ,
"depends_true" : "enabled" ,
"type" : "bool" ,
"value" : false ,
"description" : "Require Matrix connection on sign-up."
} ,
"homeserver" : {
"name" : "Home Server URL" ,
"required" : false ,
"requires_restart" : true ,
"depends_true" : "enabled" ,
"type" : "text" ,
"value" : "" ,
"description" : "Matrix Home server URL."
} ,
"token" : {
"name" : "Access Token" ,
"required" : false ,
"requires_restart" : true ,
"depends_true" : "enabled" ,
"type" : "text" ,
"value" : "" ,
"description" : "Matrix Bot API Token."
} ,
"user_id" : {
"name" : "Bot User ID" ,
"required" : false ,
"requires_restart" : true ,
"depends_true" : "enabled" ,
"type" : "text" ,
"value" : "" ,
"description" : "User ID of bot account (Example: @jfa-bot:riot.im)"
} ,
2021-05-30 10:47:41 +00:00
"topic" : {
"name" : "Chat topic" ,
"required" : false ,
"requires_restart" : true ,
"depends_true" : "enabled" ,
"type" : "text" ,
"value" : "Jellyfin notifications" ,
"description" : "Topic of Matrix private chats."
} ,
2021-05-29 16:43:11 +00:00
"language" : {
"name" : "Language" ,
"required" : false ,
"requires_restart" : false ,
"depends_true" : "enabled" ,
"type" : "select" ,
"options" : [
[ "en-us" , "English (US)" ]
] ,
"value" : "en-us" ,
"description" : "Default Matrix message language. Visit weblate if you'd like to translate."
2021-07-16 14:41:08 +00:00
} ,
"encryption" : {
"name" : "End-to-end encryption (experimental)" ,
"required" : false ,
"requires_restart" : true ,
"depends_true" : "enabled" ,
"advanced" : true ,
"type" : "bool" ,
"value" : false ,
"description" : "Enable end-to-end encryption for messages. Very experimental, currently does not support receiving commands (e.g !lang)."
2021-05-29 16:43:11 +00:00
}
}
} ,
2021-01-05 18:16:23 +00:00
"password_resets" : {
"order" : [ ] ,
"meta" : {
"name" : "Password Resets" ,
2021-01-31 18:50:04 +00:00
"description" : "Settings for the password reset handler." ,
2021-05-07 20:53:29 +00:00
"depends_true" : "messages|enabled"
2021-01-05 18:16:23 +00:00
} ,
"settings" : {
"enabled" : {
"name" : "Enabled" ,
"required" : false ,
"requires_restart" : true ,
"type" : "bool" ,
"value" : true ,
"description" : "Enable to store provided email addresses, monitor Jellyfin directory for pw-resets, and send reset pins"
} ,
"watch_directory" : {
"name" : "Jellyfin directory" ,
"required" : false ,
"requires_restart" : true ,
"depends_true" : "enabled" ,
"type" : "text" ,
"value" : "/path/to/jellyfin" ,
"description" : "Path to the folder Jellyfin puts password-reset files."
} ,
2021-03-30 21:41:28 +00:00
"link_reset" : {
2021-05-02 12:23:59 +00:00
"name" : "Use reset link instead of PIN (Required for Ombi)" ,
2021-03-30 21:41:28 +00:00
"required" : false ,
"requires_restart" : true ,
"depends_true" : "enabled" ,
"type" : "bool" ,
"value" : false ,
2021-05-02 12:23:59 +00:00
"description" : "Send users a link to reset their password instead of a PIN. Must be enabled to reset Ombi password at the same time as the Jellyfin password."
2021-03-30 21:41:28 +00:00
} ,
2021-06-07 12:46:46 +00:00
"set_password" : {
"name" : "Set password through link" ,
"required" : false ,
"requires_restart" : true ,
"depends_true" : "link_reset" ,
"type" : "bool" ,
"value" : false ,
"description" : "Instead of automatically setting the user's password to the PIN, allow them to set a new password through the reset link."
} ,
2021-07-27 15:48:24 +00:00
"url_base" : {
"name" : "URL Base" ,
"required" : true ,
"requires_restart" : false ,
"depends_true" : "link_reset" ,
"type" : "text" ,
"value" : "http://accounts.jellyf.in:8056" ,
"description" : "Base URL for jfa-go. You can leave this if you have one set in \"Invite Emails\". This is necessary because using a reverse proxy means the program has no way of knowing the URL itself."
} ,
2021-03-30 21:41:28 +00:00
"language" : {
"name" : "Default reset link language" ,
"required" : false ,
"requires_restart" : true ,
"depends_true" : "link_reset" ,
"type" : "select" ,
"options" : [
[ "en-us" , "English (US)" ]
] ,
"value" : "en-us" ,
"description" : "Default language for password reset success screen."
} ,
2021-01-05 18:16:23 +00:00
"email_html" : {
"name" : "Custom email (HTML)" ,
"required" : false ,
"requires_restart" : false ,
2021-03-15 22:51:17 +00:00
"advanced" : true ,
2021-01-05 18:16:23 +00:00
"depends_true" : "enabled" ,
"type" : "text" ,
"value" : "" ,
"description" : "Path to custom email html"
} ,
"email_text" : {
"name" : "Custom email (plaintext)" ,
"required" : false ,
"requires_restart" : false ,
2021-03-15 22:51:17 +00:00
"advanced" : true ,
2021-01-05 18:16:23 +00:00
"depends_true" : "enabled" ,
"type" : "text" ,
"value" : "" ,
"description" : "Path to custom email in plain text"
} ,
"subject" : {
"name" : "Email subject" ,
"required" : false ,
"requires_restart" : false ,
"depends_true" : "enabled" ,
"type" : "text" ,
2021-01-24 15:19:58 +00:00
"value" : "" ,
2021-01-05 18:16:23 +00:00
"description" : "Subject of password reset emails."
}
}
} ,
"invite_emails" : {
"order" : [ ] ,
"meta" : {
"name" : "Invite emails" ,
2021-01-31 18:50:04 +00:00
"description" : "Settings for sending invites directly to users." ,
"depends_true" : "email|method"
2021-01-05 18:16:23 +00:00
} ,
"settings" : {
"enabled" : {
"name" : "Enabled" ,
"required" : false ,
"requires_restart" : false ,
"type" : "bool" ,
"value" : true
} ,
"email_html" : {
"name" : "Custom email (HTML)" ,
"required" : false ,
"requires_restart" : false ,
2021-03-15 22:51:17 +00:00
"advanced" : true ,
2021-01-05 18:16:23 +00:00
"depends_true" : "enabled" ,
"type" : "text" ,
"value" : "" ,
"description" : "Path to custom email HTML"
} ,
"email_text" : {
"name" : "Custom email (plaintext)" ,
"required" : false ,
"requires_restart" : false ,
2021-03-15 22:51:17 +00:00
"advanced" : true ,
2021-01-05 18:16:23 +00:00
"depends_true" : "enabled" ,
"type" : "text" ,
"value" : "" ,
"description" : "Path to custom email in plain text"
} ,
"subject" : {
"name" : "Email subject" ,
"required" : true ,
"requires_restart" : false ,
"depends_true" : "enabled" ,
"type" : "text" ,
2021-01-24 15:19:58 +00:00
"value" : "" ,
2021-01-05 18:16:23 +00:00
"description" : "Subject of invite emails."
} ,
"url_base" : {
"name" : "URL Base" ,
"required" : true ,
"requires_restart" : false ,
"depends_true" : "enabled" ,
"type" : "text" ,
2021-07-27 15:48:24 +00:00
"value" : "http://accounts.jellyf.in:8056" ,
2021-01-05 18:16:23 +00:00
"description" : "Base URL for jfa-go. This is necessary because using a reverse proxy means the program has no way of knowing the URL itself."
}
}
} ,
2021-07-14 15:48:50 +00:00
"template_email" : {
"order" : [ ] ,
"meta" : {
"name" : "Custom email template" ,
"description" : "Settings for the template used for announcements & custom messages. HTML should include {{ .text }}, Plaintext should include {{ .plaintext }}, and either can have {{ .message }} to include the contact message." ,
"advanced" : true
} ,
"settings" : {
"email_html" : {
"name" : "Custom template email (HTML)" ,
"required" : false ,
"requires_restart" : false ,
"advanced" : true ,
"depends_true" : "enabled" ,
"type" : "text" ,
"value" : "" ,
"description" : "Path to custom email HTML template for announcements/custom messages."
} ,
"email_text" : {
"name" : "Custom template email (plaintext)" ,
"required" : false ,
"requires_restart" : false ,
"advanced" : true ,
"depends_true" : "enabled" ,
"type" : "text" ,
"value" : "" ,
"description" : "Path to custom email text template for announcements/custom messages."
}
}
} ,
2021-01-05 18:16:23 +00:00
"notifications" : {
"order" : [ ] ,
"meta" : {
"name" : "Notifications" ,
2021-01-31 18:50:04 +00:00
"description" : "Notification related settings." ,
2021-05-07 20:53:29 +00:00
"depends_true" : "messages|enabled"
2021-01-05 18:16:23 +00:00
} ,
"settings" : {
"enabled" : {
"name" : "Enabled" ,
"required" : "false" ,
"requires_restart" : true ,
"type" : "bool" ,
"value" : true ,
"description" : "Enabling adds optional toggles to invites to notify on expiry and user creation."
} ,
"expiry_html" : {
"name" : "Expiry email (HTML)" ,
"required" : false ,
"requires_restart" : false ,
2021-03-15 22:51:17 +00:00
"advanced" : true ,
2021-01-05 18:16:23 +00:00
"depends_true" : "enabled" ,
"type" : "text" ,
"value" : "" ,
"description" : "Path to expiry notification email HTML."
} ,
"expiry_text" : {
"name" : "Expiry email (Plaintext)" ,
"required" : false ,
"requires_restart" : "false" ,
2021-03-15 22:51:17 +00:00
"advanced" : true ,
2021-01-05 18:16:23 +00:00
"depends_true" : "enabled" ,
"type" : "text" ,
"value" : "" ,
"description" : "Path to expiry notification email in plaintext."
} ,
"created_html" : {
"name" : "User created email (HTML)" ,
"required" : false ,
"requires_restart" : false ,
2021-03-15 22:51:17 +00:00
"advanced" : true ,
2021-01-05 18:16:23 +00:00
"depends_true" : "enabled" ,
"type" : "text" ,
"value" : "" ,
"description" : "Path to user creation notification email HTML."
} ,
"created_text" : {
"name" : "User created email (Plaintext)" ,
"required" : false ,
"requires_restart" : false ,
2021-03-15 22:51:17 +00:00
"advanced" : true ,
2021-01-05 18:16:23 +00:00
"depends_true" : "enabled" ,
"type" : "text" ,
"value" : "" ,
"description" : "Path to user creation notification email in plaintext."
}
}
} ,
"ombi" : {
"order" : [ ] ,
"meta" : {
"name" : "Ombi Integration" ,
2021-11-13 18:53:53 +00:00
"description" : "Connect to Ombi to automatically create both Ombi and Jellyfin accounts for new users. You'll need to add a ombi template to an existing User Profile for accounts to be created, which you can do by refreshing then checking Settings > User Profiles. To handle password resets for Ombi & Jellyfin, enable \"Use reset link instead of PIN\"."
2021-01-05 18:16:23 +00:00
} ,
"settings" : {
"enabled" : {
"name" : "Enabled" ,
"required" : false ,
"requires_restart" : true ,
"type" : "bool" ,
"value" : false ,
"description" : "Enable to create an Ombi account for new Jellyfin users"
} ,
"server" : {
"name" : "URL" ,
"required" : false ,
"requires_restart" : true ,
"type" : "text" ,
"value" : "localhost:5000" ,
"depends_true" : "enabled" ,
"description" : "Ombi server URL, including http(s)://."
} ,
"api_key" : {
"name" : "API Key" ,
"required" : false ,
"requires_restart" : true ,
"type" : "text" ,
"value" : "" ,
"depends_true" : "enabled" ,
"description" : "API Key. Get this from the first tab in Ombi settings."
}
}
} ,
2021-01-24 15:19:58 +00:00
"welcome_email" : {
"order" : [ ] ,
"meta" : {
2021-05-07 20:53:29 +00:00
"name" : "Welcome Message" ,
"description" : "Optionally send a welcome message to new users with the Jellyfin URL and their username." ,
"depends_true" : "messages|enabled"
2021-01-24 15:19:58 +00:00
} ,
"settings" : {
"enabled" : {
"name" : "Enabled" ,
"required" : false ,
"requires_restart" : true ,
"type" : "bool" ,
"value" : false ,
"description" : "Enable to send welcome emails to new users."
} ,
"subject" : {
"name" : "Email subject" ,
"required" : false ,
"requires_restart" : false ,
"type" : "text" ,
"value" : "" ,
"description" : "Subject of welcome emails."
} ,
"email_html" : {
"name" : "Custom email (HTML)" ,
"required" : false ,
2021-01-30 19:19:12 +00:00
"requires_restart" : false ,
2021-03-15 22:51:17 +00:00
"advanced" : true ,
2021-01-30 19:19:12 +00:00
"type" : "text" ,
"value" : "" ,
"description" : "Path to custom email html"
} ,
"email_text" : {
"name" : "Custom email (plaintext)" ,
"required" : false ,
"requires_restart" : false ,
2021-03-15 22:51:17 +00:00
"advanced" : true ,
2021-01-30 19:19:12 +00:00
"type" : "text" ,
"value" : "" ,
"description" : "Path to custom email in plain text"
}
}
} ,
"email_confirmation" : {
"order" : [ ] ,
"meta" : {
"name" : "Email confirmation" ,
2021-01-31 18:50:04 +00:00
"description" : "If enabled, a user will be sent an email confirmation link to ensure their password is right before they can make an account." ,
"depends_true" : "email|method"
2021-01-30 19:19:12 +00:00
} ,
"settings" : {
"enabled" : {
"name" : "Enabled" ,
"required" : false ,
"requires_restart" : true ,
"type" : "bool" ,
"value" : false
} ,
"subject" : {
"name" : "Email subject" ,
"required" : false ,
"requires_restart" : false ,
"type" : "text" ,
"value" : "" ,
"description" : "Subject of email confirmation emails."
} ,
"email_html" : {
"name" : "Custom email (HTML)" ,
"required" : false ,
2021-01-24 15:19:58 +00:00
"requires_restart" : false ,
2021-03-15 22:51:17 +00:00
"advanced" : true ,
2021-01-24 15:19:58 +00:00
"type" : "text" ,
"value" : "" ,
"description" : "Path to custom email html"
} ,
"email_text" : {
"name" : "Custom email (plaintext)" ,
"required" : false ,
"requires_restart" : false ,
2021-03-15 22:51:17 +00:00
"advanced" : true ,
2021-01-24 15:19:58 +00:00
"type" : "text" ,
"value" : "" ,
"description" : "Path to custom email in plain text"
}
}
} ,
2021-02-28 15:41:06 +00:00
"user_expiry" : {
"order" : [ ] ,
"meta" : {
"name" : "User Expiry" ,
"description" : "When set on an invite, users will be deleted or disabled a specified amount of time after they create their account."
} ,
"settings" : {
"behaviour" : {
"name" : "Behaviour" ,
"required" : false ,
"requires_restart" : false ,
"type" : "select" ,
"options" : [
[ "delete_user" , "Delete user" ] ,
[ "disable_user" , "Disable user" ]
] ,
"value" : "disable_user" ,
"description" : "Whether to delete or disable users on expiry."
} ,
"send_email" : {
"name" : "Send email" ,
"required" : false ,
"requires_restart" : false ,
"type" : "bool" ,
"value" : true ,
2021-05-07 20:53:29 +00:00
"depends_true" : "messages|enabled" ,
2021-02-28 15:41:06 +00:00
"description" : "Send an email when a user's account expires."
} ,
"subject" : {
"name" : "Email subject" ,
"required" : false ,
"requires_restart" : false ,
2021-05-07 20:53:29 +00:00
"depends_true" : "messages|enabled" ,
2021-02-28 15:41:06 +00:00
"type" : "text" ,
"value" : "" ,
"description" : "Subject of user expiry emails."
} ,
"email_html" : {
"name" : "Custom email (HTML)" ,
"required" : false ,
"requires_restart" : false ,
2021-03-15 22:51:17 +00:00
"advanced" : true ,
2021-05-07 20:53:29 +00:00
"depends_true" : "messages|enabled" ,
2021-02-28 15:41:06 +00:00
"type" : "text" ,
"value" : "" ,
"description" : "Path to custom email html"
} ,
"email_text" : {
"name" : "Custom email (plaintext)" ,
"required" : false ,
"requires_restart" : false ,
2021-03-15 22:51:17 +00:00
"advanced" : true ,
2021-05-07 20:53:29 +00:00
"depends_true" : "messages|enabled" ,
2021-02-28 15:41:06 +00:00
"type" : "text" ,
"value" : "" ,
"description" : "Path to custom email in plain text"
}
}
} ,
2021-04-12 20:28:36 +00:00
"disable_enable" : {
"order" : [ ] ,
"meta" : {
"name" : "Account Disabling/Enabling" ,
"description" : "Subject/email files for account disabling/enabling emails." ,
2021-05-07 20:53:29 +00:00
"depends_true" : "messages|enabled"
2021-04-12 20:28:36 +00:00
} ,
"settings" : {
"subject_disabled" : {
"name" : "Email subject (Disabled)" ,
"required" : false ,
"requires_restart" : false ,
"type" : "text" ,
"value" : "" ,
"description" : "Subject of account disabling emails."
} ,
"subject_enabled" : {
"name" : "Email subject (Enabled)" ,
"required" : false ,
"requires_restart" : false ,
"type" : "text" ,
"value" : "" ,
"description" : "Subject of account enabling emails."
} ,
"disabled_html" : {
"name" : "Custom disabling email (HTML)" ,
"required" : false ,
"requires_restart" : false ,
"advanced" : true ,
"type" : "text" ,
"value" : "" ,
"description" : "Path to custom email html"
} ,
"disabled_text" : {
"name" : "Custom disabling email (plaintext)" ,
"required" : false ,
"requires_restart" : false ,
"advanced" : true ,
"type" : "text" ,
"value" : "" ,
"description" : "Path to custom email in plain text"
} ,
"enabled_html" : {
"name" : "Custom enabling email (HTML)" ,
"required" : false ,
"requires_restart" : false ,
"advanced" : true ,
"type" : "text" ,
"value" : "" ,
"description" : "Path to custom email html"
} ,
"enabled_text" : {
"name" : "Custom enabling email (plaintext)" ,
"required" : false ,
"requires_restart" : false ,
"advanced" : true ,
"type" : "text" ,
"value" : "" ,
"description" : "Path to custom email in plain text"
}
}
} ,
2021-01-05 18:16:23 +00:00
"deletion" : {
"order" : [ ] ,
"meta" : {
"name" : "Account Deletion" ,
2021-01-31 18:50:04 +00:00
"description" : "Subject/email files for account deletion emails." ,
2021-05-07 20:53:29 +00:00
"depends_true" : "messages|enabled"
2021-01-05 18:16:23 +00:00
} ,
"settings" : {
"subject" : {
"name" : "Email subject" ,
"required" : false ,
"requires_restart" : false ,
"type" : "text" ,
2021-01-25 21:26:54 +00:00
"value" : "" ,
2021-01-05 18:16:23 +00:00
"description" : "Subject of account deletion emails."
} ,
"email_html" : {
"name" : "Custom email (HTML)" ,
"required" : false ,
"requires_restart" : false ,
2021-03-15 22:51:17 +00:00
"advanced" : true ,
2021-01-05 18:16:23 +00:00
"type" : "text" ,
"value" : "" ,
"description" : "Path to custom email html"
} ,
"email_text" : {
"name" : "Custom email (plaintext)" ,
"required" : false ,
"requires_restart" : false ,
2021-03-15 22:51:17 +00:00
"advanced" : true ,
2021-01-05 18:16:23 +00:00
"type" : "text" ,
"value" : "" ,
"description" : "Path to custom email in plain text"
}
}
} ,
"files" : {
"order" : [ ] ,
"meta" : {
"name" : "File Storage" ,
2021-03-15 22:51:17 +00:00
"description" : "Optional settings for changing storage locations." ,
"advanced" : true
2021-01-05 18:16:23 +00:00
} ,
"settings" : {
"invites" : {
"name" : "Invite Storage" ,
"required" : false ,
"requires_restart" : true ,
"type" : "text" ,
"value" : "" ,
"description" : "Location of stored invites (json)."
} ,
2021-06-07 12:46:46 +00:00
"password_resets" : {
"name" : "Password Resets" ,
"required" : false ,
"requires_restart" : true ,
"type" : "text" ,
"value" : "" ,
"description" : "Location of stored non-Jellyfin password resets (json)."
} ,
2021-01-05 18:16:23 +00:00
"emails" : {
"name" : "Email Addresses" ,
"required" : false ,
"requires_restart" : true ,
"type" : "text" ,
"value" : "" ,
"description" : "Location of stored email addresses (json)."
} ,
2021-02-28 15:41:06 +00:00
"users" : {
"name" : "User storage" ,
"required" : false ,
"requires_restart" : false ,
"type" : "text" ,
"value" : "" ,
"description" : "Stores users temporarily when a user expiry is set."
} ,
2021-01-05 18:16:23 +00:00
"ombi_template" : {
"name" : "Ombi user template" ,
"required" : false ,
"requires_restart" : false ,
"type" : "text" ,
"value" : "" ,
"description" : "Location of stored Ombi user template."
} ,
"user_profiles" : {
"name" : "User Profiles" ,
"required" : false ,
"requires_restart" : true ,
"type" : "text" ,
"value" : "" ,
"description" : "Location of stored user profiles (encompasses template and configuration and displayprefs) (json)"
} ,
"html_templates" : {
"name" : "Custom HTML Template Directory" ,
"required" : false ,
"requires_restart" : true ,
"type" : "text" ,
"value" : "" ,
"description" : "Path to directory containing custom versions of web ui pages. See wiki for more info."
2021-02-01 17:39:19 +00:00
} ,
"lang_files" : {
"name" : "Custom language files directory" ,
"required" : false ,
"requires_restart" : true ,
"type" : "text" ,
"value" : "" ,
2021-02-02 15:19:43 +00:00
"description" : "The path to a directory which following the same form as the internal 'lang/' directory. See GitHub for more info."
2021-02-19 21:38:20 +00:00
} ,
"custom_emails" : {
"name" : "Custom email content" ,
"required" : false ,
"requires_restart" : false ,
"type" : "text" ,
"value" : "" ,
"description" : "JSON file generated by program in settings, different from email_html/email_text. See wiki for more info."
2021-05-07 00:08:12 +00:00
} ,
"telegram_users" : {
"name" : "Telegram users" ,
"required" : false ,
"requires_restart" : false ,
"type" : "text" ,
"value" : "" ,
"description" : "Stores telegram user IDs and language preferences."
2021-05-17 22:42:33 +00:00
} ,
2021-05-29 16:43:11 +00:00
"matrix_users" : {
"name" : "Matrix users" ,
"required" : false ,
"requires_restart" : false ,
"type" : "text" ,
"value" : "" ,
"description" : "Stores matrix user IDs and language preferences."
} ,
2021-07-13 18:02:16 +00:00
"matrix_sql" : {
"name" : "Matrix encryption DB" ,
"required" : false ,
"requires_restart" : false ,
"type" : "text" ,
"value" : "" ,
"description" : "Stores cryptographic material for Matrix end-to-end encryption."
} ,
2021-05-17 22:42:33 +00:00
"discord_users" : {
"name" : "Discord users" ,
"required" : false ,
"requires_restart" : false ,
"type" : "text" ,
"value" : "" ,
"description" : "Stores discord user IDs and language preferences."
2021-07-10 15:43:27 +00:00
} ,
"announcements" : {
"name" : "Announcement templates" ,
"required" : false ,
"requires_restart" : false ,
"type" : "text" ,
"value" : "" ,
"description" : "Stores custom announcement templates."
2021-01-05 18:16:23 +00:00
}
}
2020-07-31 15:09:30 +00:00
}
}
}