{
    "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. See issue #12 on Github 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. Submit a PR on github 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"
                }
            }
        },
        "email": {
            "order": [],
            "meta": {
                "name": "Email",
                "description": "General email settings."
            },
            "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."
                },
                "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."
                },
                "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."
                }
            }
        },
        "password_resets": {
            "order": [],
            "meta": {
                "name": "Password Resets",
                "description": "Settings for the password reset handler.",
                "depends_true": "email|method"
            },
            "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."
                },
                "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": "email|method"
            },
            "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."
                }
            }
        },
        "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."
                }
            }
        },
        "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."
            },
            "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 Emails",
                "description": "Optionally send a welcome email to new users with the Jellyfin URL and their username.",
                "depends_true": "email|method"
            },
            "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": "email|method",
                    "description": "Send an email when a user's account expires."
                },
                "subject": {
                    "name": "Email subject",
                    "required": false,
                    "requires_restart": false,
                    "depends_true": "email|method",
                    "type": "text",
                    "value": "",
                    "description": "Subject of user expiry emails."
                },
                "email_html": {
                    "name": "Custom email (HTML)",
                    "required": false,
                    "requires_restart": false,
                    "advanced": true,
                    "depends_true": "email|method",
                    "type": "text",
                    "value": "",
                    "description": "Path to custom email html"
                },
                "email_text": {
                    "name": "Custom email (plaintext)",
                    "required": false,
                    "requires_restart": false,
                    "advanced": true,
                    "depends_true": "email|method",
                    "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": "email|method"
            },
            "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."
                }
            }
        }
    }
}