#Don't edit this file, it is just the system defaults. User config files can overrride any setting.
######################CORE#####################################################
#The port on which web pages will be served
https_port: 8001

#The port on which unencrypted web pages will be served
http_port: 8002

# GPS coords default
location: ""

#What host to bind to. Default is determined by ["local_access_only
host: "default"

#The directory in which certificate.cert and certificate.key, used for the SSL, are to be found.
#Relative to the ["site_data_dir(or use an absolute path)
ssl_dir: ssl

#Max how many threads to allocate for the worker thread pool
worker_threads: 12

#How many tasks can be queued up in the thread pool before inserts start to block until old tasks finish
#should not really affect much as the task queue should not get even close to full unless you have
#tons of events
task_queue_size: 500

#The maximum polling cycles per second to run at
max_frame_rate: 60

#If yes, don't allow acess from any computer except this one.
local_access_only: no

#When the system shuts down, this is how many seconds to wait for the worker threads to finish before
#Just quitting anyway. This will let any tasks that were ["semi_atomic"] finish so you don't have
#Sprinklers that never shut down or something.
wait_for_workers: 60

#If this is yes, the server will try to save all unsaved persistant state it can before it shuts down.
#This includes dumping logs to file.
save_before_shutdown: no

#How fast to poll for events of specific priorities. Times in seconds
priority_response:
  realtime: 0.0166
  interactive: 0.085
  high: 0.8
  medium: 2.5
  low: 45
  verylow: 120

#should an error occur while polling or running an event,
#how long to wait before polling that event again in seconds
error_backoff:
  realtime: 1 #Assume realtime really does need to be fast
  interactive: 5
  high: 7
  medium: 9
  #Those last two are already really slow.
  low: 45
  verylow: 120

#List of possible audio backend players in order of preference. Support sox and mpg123.
audio_backends:
  - mpv

#How many times to retry loading an event before marking it as a failure and moving on
max_load_attempts: 3

##################LOGGING######################################################
#Notice: to actually control what topics are logged, use the kaithem/var/whattosave.txt or edit
#through the web interface

# Note that we just log to stdout, we leave the actual logging to something like systemd-journald

#By default, log these topics unless the user changes the settings via the web interface.
log_topics:
  - /system/notifications/


#How many old system notifications to show on front page(does not affect logging)
notifications_to_keep: 250


#List of topic that will be printed to stdout if anything is published to them
print_topics:
  - /system/notifications/

#Log Requests to /system/http/access
log_http: yes

#Fraction of memory that can be used by all processes o unix before kaithem makes a warning in the log.
mem_use-warn: 0.85

#How many messages to keep on topics that are not being logged
non_logged_topic_limit: 100

#Where to look for audio files that are specified with relative paths. Earlier entries used first.
#Default refers to the sounds kaithem ships with.
audio_paths:
  - __default__

#####################THEMING AND BRANDING#######################################
#This HTML Goes into the top box on the main page. It is configurable in case a deployment wants to add branding.
front_page_banner: |
  Kaithem is free software licensed under the GPLv3.<br>
  Any and all activities on this server may be monitored and logged by the machine's admin.  You can configure this homepage
  to redirect to a different page in the Settings.

#This HTML is used as the top banner for deployment branding, in pages without a nav bar
top_banner_html: |
  <div class="tool-bar"><h1 align="center"><a href="/index" style="text-decoration:none;color:inherit; background-color:transparent;">Kaithem@HOSTNAME</a></h1></div>

#This text shows up in the about box. Good for misc info like copyrights of site specific data, lega stuff, etc
about_box_banner: "This space can be customized with site specific data in the config file."

#The URL from which to retrieve the CSS theme file
#Classic
#["theme_url /static/css/kaithem_scrapbook.css
theme_url: /static/css/nord.css

#This is the file which contains a list of strings for kaithem.lorem and a few other places.
#Used for the quotes in the login screen
#Must be a YAML file containing a list of strings.
quotes_file: default

process_title: kaithem

### Dynamically overridable in a module


# Defaults to theme_url, but this new style can be overridden by
# users
core/css_theme: ""

# Redirect / to this page
core/homepage_redirect: ""

#Should be a path. If it is relative, starts in the datadir
core/favicon_ico: img/favicon.ico

#How to format times and dates
core/strftime_string: "%A, %B %d, %Y at %I:%M:%S %p Server Time"

# Notification target
core/apprise_target: ""


# Map tile caching.  It uses a very simple strategy, it deletes
# files that have not been accessed in that many days, but only
# if the cache is larger than that then the limit.

# Values below 100 days get ignored, as we only update modification
# timestamps ever three months to protect the SD card or SSD
core_plugin_map_tile_server/max_age_days: 100
core_plugin_map_tile_server/cache_size_mb: 32000

core_plugin_tts/default_model: ""
core_plugin_tts/default_speaker: 0

#####################MISC#######################################################

get_public_ip: no
