type:  object

properties:


    http_port:
        type: integer
        minimum: 0
        maximum: 65536
        default: 8002
        description: "Port for the web server"

    https_port:
        type: integer
        minimum: 0
        maximum: 65536
        default: 8001

    host:
        type: string
        default: "default"
        description: "IP to bind to. Default all interfaces unless local_access_only set"

    location:
        type: string
        default: ""
        description: "Comma delimited server location default value, can be changed by user"

    ssl_dir:
        type: string

    site_data_dir:
        type: string

    worker_threads:
        type: integer
        maximum: 800
        minumum: 1

    task_queue_size:
        type: integer
        minimum: 1

    local_access_only:
        type: boolean

    wait_for_workers:
        type: number
        minimum: 0.2

    save_before_shutdown:
        type: boolean

    priority_response:
        type: object
        properties:
            realtime:
                type: number
            interactive:
                type: number
            high:
                type: number
            medium:
                type: number
            low:
                type: number
            verylow:
                type: number

        required: ['realtime', 'interactive', 'high', 'medium', 'low', 'verylow']

        additionalProperties: no

    error_backoff:
        type: object
        properties:
            realtime:
                type: number
            interactive:
                type: number
            high:
                type: number
            medium:
                type: number
            low:
                type: number
            verylow:
                type: number

        required: ['realtime', 'interactive', 'high', 'medium', 'low', 'verylow']
        additionalProperties: no

    audio_backends:
        type: array
        uniqueItems: yes
        items:
            enum:
                - mpv
                - test

    audio_paths:
        type: array
        uniqueItems: yes

    max_load_attempts:
        type: integer
        minimum: 1
        maximum: 500

    log_topics:
        type: array
        uniqueitems: yes
        items:
            type: string

    errors_to_keep:
        type: integer

    notifications_to_keep:
        type: integer


    log_http:
        type: boolean

    print_topics:
        type: array
        items:
            type: string

    mem_use_warn:
        type: number
        minimum : 0
        maximum : 1

    non_logged_topic_limit:
        type: integer
        minimum: 0

    front_page_banner:
        type: string

    top_banner_html:
        type: string

    about_box_banner:
        type: string

    theme_url:
        type: string

    quotes_file:
        type: string

    get_public_ip:
        type: boolean

    process_title:
        type: string
        default: "kaithem"


    core/favicon_ico:
        type: string

    core/strftime_string:
        type: string

additionalProperties: yes
