mirror of
https://github.com/MeshCore-Beacon/beacon-server.git
synced 2026-09-02 00:58:22 +00:00
move refresh views and delete tasks to scheduler add new config for refresh and cleanup intervals new deployments can set these in minutes to see data faster
126 lines
3.8 KiB
Plaintext
126 lines
3.8 KiB
Plaintext
# Beacon configuration file
|
|
# Copy to config.yaml and adjust as needed.
|
|
|
|
iatas:
|
|
YVR:
|
|
name: Vancouver International
|
|
lat: 49.1967
|
|
lng: -123.1815
|
|
YYJ:
|
|
name: Victoria International
|
|
lat: 48.6469
|
|
lng: -123.4260
|
|
YYC:
|
|
name: Calgary International
|
|
lat: 51.1139
|
|
lng: -114.0200
|
|
YEG:
|
|
name: Edmonton International
|
|
lat: 53.3097
|
|
lng: -113.5797
|
|
YOW:
|
|
name: Ottawa International
|
|
lat: 45.3225
|
|
lng: -75.6692
|
|
YYZ:
|
|
name: Toronto Pearson
|
|
lat: 43.6777
|
|
lng: -79.6248
|
|
|
|
regions:
|
|
- slug: western-canada
|
|
name: Western Canada
|
|
display_order: 1
|
|
center_lat: 51.0
|
|
center_lng: -114.0
|
|
zoom_level: 5
|
|
iatas: [YVR, YYJ, YYC, YEG]
|
|
|
|
- slug: eastern-canada
|
|
name: Eastern Canada
|
|
display_order: 2
|
|
center_lat: 45.0
|
|
center_lng: -75.0
|
|
zoom_level: 5
|
|
iatas: [YOW, YYZ]
|
|
|
|
channel_keys:
|
|
# Hashtag channels: Beacon derives the PSK automatically from the tag name.
|
|
# secret = SHA256("#tag")[:16], channel_hash = SHA256(secret)[0]
|
|
# Hashtag names should be provided without the # prefix.
|
|
# Beacon prepends # automatically before deriving the key.
|
|
hashtags:
|
|
- meshcore
|
|
|
|
# Explicit keys: provide the channel hash (hex) and key (hex) directly.
|
|
# An optional name can be set for display purposes.
|
|
keys:
|
|
"11":
|
|
key: "8b3387e9c5cdea6ac9e5edbaa115cd72"
|
|
name: "Public"
|
|
|
|
# Regional transport scopes for matching TRANSPORT_FLOOD packets.
|
|
# Plain names have # prepended automatically (e.g. "bc" → "#bc").
|
|
scopes:
|
|
- name: bc
|
|
- name: "#west"
|
|
|
|
telemetry:
|
|
retention: 672h # 4 weeks
|
|
resolution: 1h # store one snapshot per observer per hour
|
|
|
|
packets:
|
|
retention: 720h # 30 days
|
|
|
|
websocket:
|
|
max_connections_per_ip: 5 # default: 5
|
|
|
|
# CORS configuration.
|
|
# Controls which origins, methods and headers are allowed for cross-origin requests.
|
|
# Defaults to allowing all origins with GET/HEAD/OPTIONS if omitted — appropriate
|
|
# for a public read-only API. Restrict allowed_origins if you expose write endpoints.
|
|
#cors:
|
|
# allowed_origins:
|
|
# - "https://app.example.com"
|
|
# allowed_methods: [GET, HEAD, OPTIONS, POST]
|
|
# allowed_headers: [Accept, Authorization, Content-Type]
|
|
# allow_credentials: false
|
|
# max_age: 300
|
|
|
|
# Redis caching layer.
|
|
# If REDIS_ADDR is not set, caching is disabled and all reads go directly to PostgreSQL.
|
|
# TTLs are specified as duration strings e.g. "30m", "1h", "2h".
|
|
# Per-category TTLs override the global ttl. Any category left unset inherits ttl.
|
|
cache:
|
|
# Global default TTL for all cached responses. Defaults to 1h if not set.
|
|
ttl: "1h"
|
|
ttls:
|
|
# Aggregated stats endpoints (overview, observations, breakdowns, top nodes/observers,
|
|
# radio presets, scope stats). Backed by materialized views refreshed hourly.
|
|
stats: "1h"
|
|
# Mostly-static reference data (IATAs, regions, scopes).
|
|
# Only changes when new observers arrive or config is reseeded.
|
|
reference: "1h"
|
|
# Individual node detail. Also explicitly invalidated on upsert.
|
|
nodes: "1h"
|
|
# Individual observer detail. Also explicitly invalidated on upsert.
|
|
observers: "1h"
|
|
|
|
# Geographic ingest filter (optional).
|
|
# Drop packets from observers outside the specified area at ingest time.
|
|
# Country codes are ISO 3166-1 alpha-2 (e.g. CA, US, GB).
|
|
# Continent codes: AF (Africa), AN (Antarctica), AS (Asia),
|
|
# EU (Europe), NA (North America), OC (Oceania), SA (South America).
|
|
# If both are set an IATA passes if it matches either (OR semantics).
|
|
# Omit this section entirely to accept packets from all IATAs (default).
|
|
#ingest:
|
|
# allow_countries: [CA, US]
|
|
# allow_continents: [NA]
|
|
|
|
# Background task intervals.
|
|
# Shorter intervals are useful during initial deployment to confirm data is
|
|
# flowing. Back off to 1h or more once stable.
|
|
#background:
|
|
# view_refresh: 1h # default: 1h
|
|
# cleanup: 1h # default: 1h
|