# Config file example.
# Rename this to "config.yml" before running the software.

# Your callsign. Used to log into DX clusters and included in User-Agent when querying HTTP servers. Useful so if your
# server goes crazy and causes other people problems, they know who to contact :) If you don't have one, you can leave
# this as "N0CALL" and it shouldn't do any harm, as we're not sending anything to the various networks, only receiving.
server-owner-callsign: "N0CALL"

# The base URL at which the software runs.
base-url: "http://localhost:8080"

# Spot providers to use. This is an example set, tailor it to your liking by commenting and uncommenting.
# RBN and APRS-IS are supported but have such a high data rate, you probably don't want them enabled.
# Each provider needs a class, a name, and an enabled/disabled state. Some require more config such as hostnames/IP
# addresses and ports. You can duplicate them if you like, e.g. to support several DX clusters. RBN uses two ports, 7000
# for CW/RTTY and 7001 for FT8, so if you want both, you need two entries, as shown below.
# Feel free to write your own provider classes! There are details in the README.
spot-providers:
  -
    class: "POTA"
    name: "POTA"
    enabled: true
  -
    class: "SOTA"
    name: "SOTA"
    enabled: true
  -
    class: "WWFF"
    name: "WWFF"
    enabled: true
  -
    class: "WWBOTA"
    name: "WWBOTA"
    enabled: true
  -
    class: "GMA"
    name: "GMA"
    enabled: true
  -
    class: "HEMA"
    name: "HEMA"
    enabled: true
  -
    class: "ParksNPeaks"
    name: "ParksNPeaks"
    enabled: true
  -
    class: "ZLOTA"
    name: "ZLOTA"
    enabled: true
  -
    class: "WOTA"
    name: "WOTA"
    enabled: true
  -
    class: "LLOTA"
    name: "LLOTA"
    enabled: true
  -
    class: "WWTOTA"
    name: "WWTOTA"
    enabled: true
  -
    class: "APRSIS"
    name: "APRS-IS"
    enabled: false
  -
    class: "DXCluster"
    name: "HRD Cluster"
    enabled: true
    host: "hrd.wa9pie.net"
    port: 8000
    # Prompt the cluster node gives when asking for a callsign to log in. Varies between cluster node software.
    login_prompt: "login:"
    # Callsign Spothole will use to log into this cluster. Ensure the SSID (e.g. -99) is different to any personal
    # connection you might make to this cluster node.
    login_callsign: "N0CALL-99"
    # Whether to allow RBN spots that come via this cluster. If you don't want RBN spots or you are making a separate
    # connection to RBN directly, leave this as False. If you want RBN spots from this cluster, set this to True. (Make
    # sure you aren't also separately connecting to RBN directly, otherwise you may get duplicate spots.) Note that not
    # all clusters sent RBN spots anyway.
    allow_rbn_spots: false
  -
    class: "DXCluster"
    name: "W3LPL Cluster"
    enabled: false
    host: "w3lpl.net"
    port: 7373
    # Prompt the cluster node gives when asking for a callsign to log in. Varies between cluster node software.
    login_prompt: "Please enter your call:"
    # Callsign Spothole will use to log into this cluster. Ensure the SSID (e.g. -99) is different to any personal
    # connection you might make to this cluster node.
    login_callsign: "N0CALL-99"
    # Whether to allow RBN spots that come via this cluster. If you don't want RBN spots or you are making a separate
    # connection to RBN directly, leave this as False. If you want RBN spots from this cluster, set this to True. (Make
    # sure you aren't also separately connecting to RBN directly, otherwise you may get duplicate spots.) Note that not
    # all clusters sent RBN spots anyway.
    allow_rbn_spots: false
  -
    class: "RBN"
    name: "RBN CW/RTTY"
    enabled: false
    port: 7000
    # This setting doesn't affect the spot provider itself, or anything in the back-end of Spothole, just the web UI.
    # By default spots from all enabled providers will be shown in the web UI. However, you might want RBN data to be
    # received by Spothole but not shown on the web UI unless the user explicitly turns it on. For that behaviour,
    # set enabled to true, but enabled-by-default-in-web-ui to false.
    enabled-by-default-in-web-ui: false
  -
    class: "RBN"
    name: "RBN FT8"
    enabled: false
    port: 7001
    enabled-by-default-in-web-ui: false
  -
    class: "UKPacketNet"
    name: "UK Packet Radio Net"
    enabled: false
    enabled-by-default-in-web-ui: false
  -
    class: "XOTA"
    name: "39C3 TOTA"
    enabled: false
    url: "wss://dev.39c3.totawatch.de/api/spot/live"
    # Fixed SIG for all spots from a provider & location CSV are currently only a feature for the "XOTA" provider,
    # the software found at https://github.com/nischu/xOTA/. This is because this is a generic backend for xOTA
    # programmes and so different URLs provide different programmes.
    sig: "TOTA"
    locations-csv: "datafiles/39c3-tota.csv"

# Alert providers to use. Same setup as the spot providers list above.
alert-providers:
  -
    class: "POTA"
    name: "POTA"
    enabled: true
  -
    class: "SOTA"
    name: "SOTA"
    enabled: true
  -
    class: "WWFF"
    name: "WWFF"
    enabled: true
  -
    class: "ParksNPeaks"
    name: "ParksNPeaks"
    enabled: true
  -
    class: "WOTA"
    name: "WOTA"
    enabled: true
  -
    class: "BOTA"
    name: "BOTA"
    enabled: true
  -
    class: "NG3K"
    name: "NG3K"
    enabled: true


# Solar condition providers to use. These poll external APIs for solar propagation data (SFI, A/K indices, band
# conditions, etc.) and make it available via the /api/v1/solar endpoint.
solar-condition-providers:
  -
    class: "HamQSL"
    name: "HamQSL"
    enabled: true

# Port to open the local web server on
web-server-port: 8080

# Maximum time to keep spots and alerts in the system before deleting them. By default, one hour for spots and one week
# for alerts.
max-spot-age-sec: 3600
max-alert-age-sec: 604800

# Login for QRZ.com to look up information. Optional. You will need an "XML Subscriber" (paid) package to retrieve all
# the data for a callsign via their system.
qrz-username: ""
qrz-password: ""

# Login for HamQTH to look up information. Optional.
hamqth-username: ""
hamqth-password: ""

# API key for Clublog to look up information. Optional. You sill need to request one via their helpdesk portal if you
# want to use callsign lookups from Clublog.
clublog-api-key: ""

# Allow submitting spots to the Spothole API?
allow-spotting: true

# Options for the web UI.
web-ui-options:
  spot-count: [10, 25, 50, 100]
  spot-count-default: 50
  max-spot-age: [5, 10, 30, 60]
  max-spot-age-default: 30
  alert-count: [25, 50, 100, 200, 500]
  alert-count-default: 100
  # Default UI colour scheme. Supported values are "light", "dark" and "auto" (i.e. use the browser/OS colour scheme).
  # Users can still override this in the UI to their own preference.
  color-scheme-default: "auto"
  # Default band colour scheme. Supported values are the full names of any band colour scheme shown in the UI.
  # Users can still override this in the UI to their own preference.
  band-color-scheme-default: "PSK Reporter (Adjusted)"
  # Custom HTML insert. This can be any arbitrary HTML. It will be inserted next to the start/stop buttons on the spots
  # (home) page, although being arbitrary HTML you can also use a div with absolute, relative, float placement etc. This
  # is designed for a "donate/support the server" type button, though you are free to do whatever you want with it.
  # As the server owner you are responsible for the safe usage of this option!
  support-button-html: ""