mirror of
https://github.com/hrfee/jfa-go.git
synced 2024-10-31 23:40:11 +00:00
Harvey Tindall
e97b90d4d7
PIN is verified but not used currently. Works a little different than the others, you input your matrix user ID and then the PIN is sent to you. The bot doesn't support E2EE, so the bot being the first one to message ensures the chat is unencrypted.
1313 lines
53 KiB
JSON
1313 lines
53 KiB
JSON
{
|
|
"order": [],
|
|
"sections": {
|
|
"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."
|
|
}
|
|
}
|
|
},
|
|
"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,
|
|
"advanced": true,
|
|
"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,
|
|
"advanced": true,
|
|
"type": "number",
|
|
"value": 30,
|
|
"description": "Timeout of user cache in minutes. Set to 0 to disable."
|
|
},
|
|
"type": {
|
|
"name": "Server type",
|
|
"required": false,
|
|
"requires_restart": true,
|
|
"type": "select",
|
|
"options": [
|
|
["jellyfin", "Jellyfin"],
|
|
["emby", "Emby"]
|
|
],
|
|
"value": "jellyfin",
|
|
"description": "Note: Emby integration works but is missing some features, such as Password Resets."
|
|
},
|
|
"substitute_jellyfin_strings": {
|
|
"name": "Substitute occurrences of \"Jellyfin\"",
|
|
"required": false,
|
|
"requires_restart": true,
|
|
"type": "text",
|
|
"value": "",
|
|
"description": "Optionally substitute occurrences of \"Jellyfin\" in the account creation form and emails with this. May result in bad grammar."
|
|
}
|
|
}
|
|
},
|
|
"ui": {
|
|
"order": [],
|
|
"meta": {
|
|
"name": "General",
|
|
"description": "Settings related to the UI and program functionality."
|
|
},
|
|
"settings": {
|
|
"language-form": {
|
|
"name": "Default Form Language",
|
|
"required": false,
|
|
"requires_restart": true,
|
|
"type": "select",
|
|
"options": [
|
|
["en-us", "English (US)"]
|
|
],
|
|
"value": "en-us",
|
|
"description": "Default Account Form Language. Visit weblate.hrfee.dev if you'd like to translate."
|
|
},
|
|
"language-admin": {
|
|
"name": "Default Admin Language",
|
|
"required": false,
|
|
"requires_restart": true,
|
|
"type": "select",
|
|
"options": [
|
|
["en-us", "English (US)"]
|
|
],
|
|
"value": "en-us",
|
|
"description": "Default Admin page Language. Settings has not been translated. Visit weblate.hrfee.dev if you'd like to translate."
|
|
},
|
|
"theme": {
|
|
"name": "Default Look",
|
|
"required": false,
|
|
"requires_restart": true,
|
|
"type": "select",
|
|
"options": [
|
|
["Jellyfin (Dark)", "Jellyfin (Dark)"],
|
|
["Default (Light)", "Default (Light)"]
|
|
],
|
|
"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": "",
|
|
"description": "URL base for when running jfa-go with a reverse proxy in a subfolder."
|
|
}
|
|
}
|
|
},
|
|
"advanced": {
|
|
"order": [],
|
|
"meta": {
|
|
"name": "Advanced",
|
|
"description": "Advanced settings."
|
|
},
|
|
"settings": {
|
|
"tls": {
|
|
"name": "TLS/HTTP2",
|
|
"required": false,
|
|
"requires_restart": true,
|
|
"type": "bool",
|
|
"value": false,
|
|
"description": "Enable TLS."
|
|
},
|
|
"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."
|
|
}
|
|
}
|
|
},
|
|
"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"
|
|
}
|
|
}
|
|
},
|
|
"messages": {
|
|
"order": [],
|
|
"meta": {
|
|
"name": "Messages/Notifications",
|
|
"description": "General settings for emails/messages."
|
|
},
|
|
"settings": {
|
|
"enabled": {
|
|
"name": "Enabled",
|
|
"required": true,
|
|
"requires_restart": true,
|
|
"type": "bool",
|
|
"value": true,
|
|
"description": "Enable the sending of emails/messages such as password resets, announcements, etc."
|
|
},
|
|
"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,
|
|
"advanced": true,
|
|
"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."
|
|
}
|
|
}
|
|
},
|
|
"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."
|
|
},
|
|
"method": {
|
|
"name": "Email method",
|
|
"required": false,
|
|
"requires_restart": false,
|
|
"type": "select",
|
|
"options": [
|
|
["", "Disabled"],
|
|
["smtp", "SMTP"],
|
|
["mailgun", "Mailgun"]
|
|
],
|
|
"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"
|
|
},
|
|
"plaintext": {
|
|
"name": "Send emails as plain text",
|
|
"required": false,
|
|
"requires_restart": false,
|
|
"advanced": true,
|
|
"depends_true": "method",
|
|
"type": "bool",
|
|
"value": false,
|
|
"description": "Send emails as plain text instead of HTML."
|
|
}
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"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."
|
|
}
|
|
}
|
|
},
|
|
"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."
|
|
},
|
|
"required": {
|
|
"name": "Require on sign-up",
|
|
"required": false,
|
|
"required_restart": true,
|
|
"depends_true": "enabled",
|
|
"type": "bool",
|
|
"value": false,
|
|
"description": "Require Discord connection on sign-up."
|
|
},
|
|
"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."
|
|
},
|
|
"channel": {
|
|
"name": "Channel to monitor",
|
|
"required": false,
|
|
"requires_restart": true,
|
|
"depends_true": "enabled",
|
|
"type": "text",
|
|
"value": "",
|
|
"description": "Only listen to commands in specified channel. Leave blank to monitor all."
|
|
},
|
|
"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."
|
|
},
|
|
"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."
|
|
}
|
|
}
|
|
},
|
|
"telegram": {
|
|
"order": [],
|
|
"meta": {
|
|
"name": "Telegram",
|
|
"description": "Settings for Telegram signup/notifications"
|
|
},
|
|
"settings": {
|
|
"enabled": {
|
|
"name": "Enabled",
|
|
"required": false,
|
|
"requires_restart": true,
|
|
"type": "bool",
|
|
"value": false,
|
|
"description": "Enable signup verification through Telegram and the sending of notifications through it.\nSee the jfa-go wiki for setting up a bot."
|
|
},
|
|
"required": {
|
|
"name": "Require on sign-up",
|
|
"required": false,
|
|
"required_restart": true,
|
|
"depends_true": "enabled",
|
|
"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."
|
|
}
|
|
}
|
|
},
|
|
"matrix": {
|
|
"order": [],
|
|
"meta": {
|
|
"name": "Matrix",
|
|
"description": "Settings for Matrix invites/signup/notifications"
|
|
},
|
|
"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."
|
|
},
|
|
"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)"
|
|
},
|
|
"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."
|
|
}
|
|
}
|
|
},
|
|
"password_resets": {
|
|
"order": [],
|
|
"meta": {
|
|
"name": "Password Resets",
|
|
"description": "Settings for the password reset handler.",
|
|
"depends_true": "messages|enabled"
|
|
},
|
|
"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."
|
|
},
|
|
"link_reset": {
|
|
"name": "Use reset link instead of PIN (Required for Ombi)",
|
|
"required": false,
|
|
"requires_restart": true,
|
|
"depends_true": "enabled",
|
|
"type": "bool",
|
|
"value": false,
|
|
"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."
|
|
},
|
|
"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."
|
|
},
|
|
"email_html": {
|
|
"name": "Custom email (HTML)",
|
|
"required": false,
|
|
"requires_restart": false,
|
|
"advanced": true,
|
|
"depends_true": "enabled",
|
|
"type": "text",
|
|
"value": "",
|
|
"description": "Path to custom email html"
|
|
},
|
|
"email_text": {
|
|
"name": "Custom email (plaintext)",
|
|
"required": false,
|
|
"requires_restart": false,
|
|
"advanced": true,
|
|
"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",
|
|
"value": "",
|
|
"description": "Subject of password reset emails."
|
|
}
|
|
}
|
|
},
|
|
"invite_emails": {
|
|
"order": [],
|
|
"meta": {
|
|
"name": "Invite emails",
|
|
"description": "Settings for sending invites directly to users.",
|
|
"depends_true": "email|method"
|
|
},
|
|
"settings": {
|
|
"enabled": {
|
|
"name": "Enabled",
|
|
"required": false,
|
|
"requires_restart": false,
|
|
"type": "bool",
|
|
"value": true
|
|
},
|
|
"email_html": {
|
|
"name": "Custom email (HTML)",
|
|
"required": false,
|
|
"requires_restart": false,
|
|
"advanced": true,
|
|
"depends_true": "enabled",
|
|
"type": "text",
|
|
"value": "",
|
|
"description": "Path to custom email HTML"
|
|
},
|
|
"email_text": {
|
|
"name": "Custom email (plaintext)",
|
|
"required": false,
|
|
"requires_restart": false,
|
|
"advanced": true,
|
|
"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",
|
|
"value": "",
|
|
"description": "Subject of invite emails."
|
|
},
|
|
"url_base": {
|
|
"name": "URL Base",
|
|
"required": true,
|
|
"requires_restart": false,
|
|
"depends_true": "enabled",
|
|
"type": "text",
|
|
"value": "http://accounts.jellyf.in:8056/invite",
|
|
"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."
|
|
}
|
|
}
|
|
},
|
|
"notifications": {
|
|
"order": [],
|
|
"meta": {
|
|
"name": "Notifications",
|
|
"description": "Notification related settings.",
|
|
"depends_true": "messages|enabled"
|
|
},
|
|
"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,
|
|
"advanced": true,
|
|
"depends_true": "enabled",
|
|
"type": "text",
|
|
"value": "",
|
|
"description": "Path to expiry notification email HTML."
|
|
},
|
|
"expiry_text": {
|
|
"name": "Expiry email (Plaintext)",
|
|
"required": false,
|
|
"requires_restart": "false",
|
|
"advanced": true,
|
|
"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,
|
|
"advanced": true,
|
|
"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,
|
|
"advanced": true,
|
|
"depends_true": "enabled",
|
|
"type": "text",
|
|
"value": "",
|
|
"description": "Path to user creation notification email in plaintext."
|
|
}
|
|
}
|
|
},
|
|
"ombi": {
|
|
"order": [],
|
|
"meta": {
|
|
"name": "Ombi Integration",
|
|
"description": "Connect to Ombi to automatically create both Ombi and Jellyfin accounts for new users. You'll need to create a user template for this to work. Once enabled, refresh to see an option in settings for this. To handle password resets for Ombi & Jellyfin, enable \"Use reset link instead of PIN\"."
|
|
},
|
|
"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."
|
|
}
|
|
}
|
|
},
|
|
"welcome_email": {
|
|
"order": [],
|
|
"meta": {
|
|
"name": "Welcome Message",
|
|
"description": "Optionally send a welcome message to new users with the Jellyfin URL and their username.",
|
|
"depends_true": "messages|enabled"
|
|
},
|
|
"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,
|
|
"requires_restart": false,
|
|
"advanced": true,
|
|
"type": "text",
|
|
"value": "",
|
|
"description": "Path to custom email html"
|
|
},
|
|
"email_text": {
|
|
"name": "Custom email (plaintext)",
|
|
"required": false,
|
|
"requires_restart": false,
|
|
"advanced": true,
|
|
"type": "text",
|
|
"value": "",
|
|
"description": "Path to custom email in plain text"
|
|
}
|
|
}
|
|
},
|
|
"email_confirmation": {
|
|
"order": [],
|
|
"meta": {
|
|
"name": "Email confirmation",
|
|
"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"
|
|
},
|
|
"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,
|
|
"requires_restart": false,
|
|
"advanced": true,
|
|
"type": "text",
|
|
"value": "",
|
|
"description": "Path to custom email html"
|
|
},
|
|
"email_text": {
|
|
"name": "Custom email (plaintext)",
|
|
"required": false,
|
|
"requires_restart": false,
|
|
"advanced": true,
|
|
"type": "text",
|
|
"value": "",
|
|
"description": "Path to custom email in plain text"
|
|
}
|
|
}
|
|
},
|
|
"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,
|
|
"depends_true": "messages|enabled",
|
|
"description": "Send an email when a user's account expires."
|
|
},
|
|
"subject": {
|
|
"name": "Email subject",
|
|
"required": false,
|
|
"requires_restart": false,
|
|
"depends_true": "messages|enabled",
|
|
"type": "text",
|
|
"value": "",
|
|
"description": "Subject of user expiry emails."
|
|
},
|
|
"email_html": {
|
|
"name": "Custom email (HTML)",
|
|
"required": false,
|
|
"requires_restart": false,
|
|
"advanced": true,
|
|
"depends_true": "messages|enabled",
|
|
"type": "text",
|
|
"value": "",
|
|
"description": "Path to custom email html"
|
|
},
|
|
"email_text": {
|
|
"name": "Custom email (plaintext)",
|
|
"required": false,
|
|
"requires_restart": false,
|
|
"advanced": true,
|
|
"depends_true": "messages|enabled",
|
|
"type": "text",
|
|
"value": "",
|
|
"description": "Path to custom email in plain text"
|
|
}
|
|
}
|
|
},
|
|
"disable_enable": {
|
|
"order": [],
|
|
"meta": {
|
|
"name": "Account Disabling/Enabling",
|
|
"description": "Subject/email files for account disabling/enabling emails.",
|
|
"depends_true": "messages|enabled"
|
|
},
|
|
"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"
|
|
}
|
|
}
|
|
},
|
|
"deletion": {
|
|
"order": [],
|
|
"meta": {
|
|
"name": "Account Deletion",
|
|
"description": "Subject/email files for account deletion emails.",
|
|
"depends_true": "messages|enabled"
|
|
},
|
|
"settings": {
|
|
"subject": {
|
|
"name": "Email subject",
|
|
"required": false,
|
|
"requires_restart": false,
|
|
"type": "text",
|
|
"value": "",
|
|
"description": "Subject of account deletion emails."
|
|
},
|
|
"email_html": {
|
|
"name": "Custom email (HTML)",
|
|
"required": false,
|
|
"requires_restart": false,
|
|
"advanced": true,
|
|
"type": "text",
|
|
"value": "",
|
|
"description": "Path to custom email html"
|
|
},
|
|
"email_text": {
|
|
"name": "Custom email (plaintext)",
|
|
"required": false,
|
|
"requires_restart": false,
|
|
"advanced": true,
|
|
"type": "text",
|
|
"value": "",
|
|
"description": "Path to custom email in plain text"
|
|
}
|
|
}
|
|
},
|
|
"files": {
|
|
"order": [],
|
|
"meta": {
|
|
"name": "File Storage",
|
|
"description": "Optional settings for changing storage locations.",
|
|
"advanced": true
|
|
},
|
|
"settings": {
|
|
"invites": {
|
|
"name": "Invite Storage",
|
|
"required": false,
|
|
"requires_restart": true,
|
|
"type": "text",
|
|
"value": "",
|
|
"description": "Location of stored invites (json)."
|
|
},
|
|
"emails": {
|
|
"name": "Email Addresses",
|
|
"required": false,
|
|
"requires_restart": true,
|
|
"type": "text",
|
|
"value": "",
|
|
"description": "Location of stored email addresses (json)."
|
|
},
|
|
"users": {
|
|
"name": "User storage",
|
|
"required": false,
|
|
"requires_restart": false,
|
|
"type": "text",
|
|
"value": "",
|
|
"description": "Stores users temporarily when a user expiry is set."
|
|
},
|
|
"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."
|
|
},
|
|
"lang_files": {
|
|
"name": "Custom language files directory",
|
|
"required": false,
|
|
"requires_restart": true,
|
|
"type": "text",
|
|
"value": "",
|
|
"description": "The path to a directory which following the same form as the internal 'lang/' directory. See GitHub for more info."
|
|
},
|
|
"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."
|
|
},
|
|
"telegram_users": {
|
|
"name": "Telegram users",
|
|
"required": false,
|
|
"requires_restart": false,
|
|
"type": "text",
|
|
"value": "",
|
|
"description": "Stores telegram user IDs and language preferences."
|
|
},
|
|
"matrix_users": {
|
|
"name": "Matrix users",
|
|
"required": false,
|
|
"requires_restart": false,
|
|
"type": "text",
|
|
"value": "",
|
|
"description": "Stores matrix user IDs and language preferences."
|
|
},
|
|
"discord_users": {
|
|
"name": "Discord users",
|
|
"required": false,
|
|
"requires_restart": false,
|
|
"type": "text",
|
|
"value": "",
|
|
"description": "Stores discord user IDs and language preferences."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|