# ------------------------- # Server Configuration # ------------------------- [server] # The address to bind the server to. Use * to listen on all interfaces. bind = * # Port to run the web server on. port = 8081 # Path to TLS certificate (leave blank to disable HTTPS). tls_cert = # Path for the ACME challenge if using Let's Encrypt. acme_challenge = # ------------------------- # Site Appearance & Behavior # ------------------------- [site] # The domain name of your site. domain = # Select language language = en # Site title to show in the browser title bar and headers. title = Bay Area Mesh # A brief message shown on the homepage. message = Real time data from around the bay area and beyond. # Starting URL when loading the index page. starting = /chat # Enable or disable site features (as strings: "True" or "False"). nodes = True conversations = True everything = True graphs = True stats = True net = True map = True top = True # Map boundaries (used for the map view). map_top_left_lat = 39 map_top_left_lon = -123 map_bottom_right_lat = 36 map_bottom_right_lon = -121 # Updates intervals in seconds, zero or negative number means no updates # defaults will be 3 seconds map_interval=3 firehose_interal=3 # Weekly net details weekly_net_message = Weekly Mesh check-in. We will keep it open on every Wednesday from 5:00pm for checkins. The message format should be (LONG NAME) - (CITY YOU ARE IN) #BayMeshNet. net_tag = #BayMeshNet # ------------------------- # MQTT Broker Configuration # ------------------------- [mqtt] # MQTT server hostname or IP. server = mqtt.bayme.sh # Topics to subscribe to (as JSON-like list, but still a string). topics = ["msh/US/bayarea/#", "msh/US/CA/mrymesh/#", "msh/US/CA/sacvalley"] # Port used by MQTT (typically 1883 for unencrypted). port = 1883 # MQTT username and password. username = meshdev password = large4cats # Optional list of node IDs to ignore. Comma-separated. skip_node_ids = # Optional list of secondary AES keys (base64), comma-separated. secondary_keys = # ------------------------- # Database Configuration # ------------------------- [database] # SQLAlchemy async connection string. # Examples: # sqlite+aiosqlite:///packets.db # postgresql+asyncpg://user:pass@host:5432/meshview connection_string = sqlite+aiosqlite:///packets.db # ------------------------- # Database Cleanup Configuration # ------------------------- [cleanup] # Enable or disable daily cleanup enabled = False # Number of days to keep records in the database days_to_keep = 14 # Time to run daily cleanup (24-hour format) hour = 2 minute = 00 # Run VACUUM after cleanup vacuum = False # Enable database backups (independent of cleanup) backup_enabled = False # Directory to store database backups (relative or absolute path) backup_dir = ./backups # Time to run daily backup (24-hour format) # If not specified, uses cleanup hour/minute backup_hour = 2 backup_minute = 00 # ------------------------- # Logging Configuration # ------------------------- [logging] # Enable or disable HTTP access logs from the web server # When disabled, request logs like "GET /api/chat" will not appear # Application logs (errors, startup messages, etc.) are unaffected # Set to True to enable, False to disable (default: False) access_log = False # Database cleanup logfile db_cleanup_logfile = dbcleanup.log