# ais_hub configuration (example). # All fields can be overridden via env vars with prefix AIS_HUB_ and # "__" as level separator, e.g. AIS_HUB_INGEST__AIS_UDP__PORT=4011. ingest: ais_udp: host: 0.0.0.0 port: 4001 gps_uart: device: /dev/ttyS1 baud: 38400 enabled: true radio_udp: host: 0.0.0.0 port: 4010 # AIS-catcher Mini binary telemetry (see ais-mini.conf slot_udp_*/rssi_udp_*/event_udp_*). # Set enabled: true and point AIS-catcher's *_udp_host/port here (defaults match its defaults). aiscatcher_udp: enabled: false host: 127.0.0.1 slot_port: 10111 slot_detail_port: 10112 rssi_port: 10113 event_port: 10114 publish: http: host: 0.0.0.0 port: 8080 udp_events: host: 127.0.0.1 port: 7001 max_datagram_bytes: 1400 udp_nmea: host: 127.0.0.1 port: 6007 udp_tx_outbox: host: 127.0.0.1 port: 6010 nmea_tail: in_memory_ring: 500 storage: path: /var/lib/ais_hub/ais_hub.db store_raw_nmea: false retention: ais_dynamic_days: 7 gps_fix_days: 7 raw_nmea_days: 2 radio_telemetry_days: 7 writer: batch_size: 200 flush_interval_ms: 500 retention_interval_sec: 3600 queues: parser_in: 2048 ws_client: 512 udp_events: 1024 storage_in: 4096 tx_outbox: 512 parser: ais: # Ignore checksum completely (even if present and invalid). # If enabled, this overrides allow_checksumless. ignore_checksum: false # Some real-world NMEA forwarders omit the *HH checksum on !AIVDM/!AIVDO. # OpenCPN is often tolerant; ais_hub is strict by default. allow_checksumless: false # Some multi-fragment AIS sentences come with an empty seq_id (field 3). # Enabling this uses a best-effort heuristic to reassemble those fragments. allow_multipart_without_seq_id: false # TTL for in-flight multipart reassembly buffers. multipart_ttl_sec: 60.0 logging: level: INFO file: /var/log/ais_hub/ais_hub.log max_bytes: 10485760 backup_count: 5 json: true