Skip to content

Quick Start

iliyan85 edited this page Jul 9, 2026 · 3 revisions

Quick Start

This page shows the two current AISMixer workflows: running from a repository checkout and running the installed systemd service. Docker installation is not documented here because Docker support is planned, not implemented.

Repository Mode

From the main AISMixer repository:

python3 aismixer.py

AISMixer loads /etc/aismixer/config.yaml when it exists. Otherwise it loads config.yaml from the current working directory.

Both repository and installed workflows process direct !AIVDM and !AIVDO input through the normal assembly, deduplication, TAG, routing, and forwarding pipeline.

Installed Mode

Install the repository-managed service and global CLI wrapper:

./install.sh

Then start and inspect the service:

systemctl start aismixer
systemctl status aismixer

The lifecycle scripts are privilege-aware:

  • root runs privileged lifecycle operations directly;
  • a non-root user uses sudo when it is available;
  • a non-root user without sudo receives an early error.

Installation enables aismixer.service but does not automatically start AISMixer. Existing /etc/aismixer configuration, UDP alias maps, authorized station keys, and server keys are preserved. The update script refreshes installed runtime files and restarts AISMixer. The uninstall script removes installed runtime files and the service but preserves /etc/aismixer by default. Use:

./uninstall.sh --purge-config

only when configuration and keys should also be removed.

Minimal Legacy Broadcast Config

Without a top-level routing: section, AISMixer uses legacy broadcast mode: global deduplication and forwarding to every configured UDP forwarder.

station_id: mixstation_1

udp_inputs:
  - id: roof_receiver
    listen_ip: "0.0.0.0"
    listen_port: 17778

forwarders:
  - host: 203.0.113.10
    port: 5000
  - host: 127.0.0.1
    port: 19000

Add routing: only when you want Routing Engine behavior.

Clone this wiki locally