-
Notifications
You must be signed in to change notification settings - Fork 0
Installation and Operations
This page documents the installed layout and lifecycle behavior for AISMixer and nmea_sproxy.
Installed AISMixer files use:
/opt/aismixer
/etc/aismixer
/etc/aismixer/keys
/etc/systemd/system/aismixer.service
/usr/local/bin/aismixerctl
/run/aismixer
The repository-managed systemd unit contains:
Description=AISMixer Service
RuntimeDirectory=aismixer
RuntimeDirectoryMode=0755
It does not define User=, Group=, DynamicUser=, or a dedicated service account.
/run/aismixer is temporary runtime state. systemd creates it before the installed service starts and removes it after service stop.
The scripts are root/sudo aware. Root runs privileged operations directly. A non-root user uses sudo when available. A non-root user without sudo receives an early error.
install.sh:
- installs runtime files to
/opt/aismixer; - installs the repository-managed unit to
/etc/systemd/system/aismixer.service; - installs
/usr/local/bin/aismixerctl; - preserves existing
/etc/aismixer/config.yamland/etc/aismixer/udp_alias_map.yaml; - preserves existing server keys;
- creates
authorized_keys.yamlonly when missing; - reloads systemd;
- enables but does not start AISMixer.
update.sh:
- refreshes installed runtime files;
- refreshes the systemd unit and
aismixerctlwrapper; - does not modify
/etc/aismixer; - reloads systemd;
- restarts AISMixer.
uninstall.sh:
- stops and disables AISMixer when present;
- removes
/opt/aismixer, the unit, and/usr/local/bin/aismixerctl; - preserves
/etc/aismixerby default; - removes
/etc/aismixer, including configuration and keys, only with--purge-config.
Run directly from the main repository:
python3 aismixer.pyInstalled service workflow:
./install.sh
systemctl start aismixer
systemctl status aismixerThe optional runtime control socket remains disabled unless control.unix.enabled: true is configured. See Runtime Routing Control.
Installed nmea_sproxy files use:
/opt/nmea_sproxy
/etc/nmea_sproxy
/etc/nmea_sproxy/config.yaml
/etc/nmea_sproxy/instances
/etc/nmea_sproxy/keys
/etc/systemd/system/nmea_sproxy.service
/etc/systemd/system/nmea_sproxy@.service
The singleton service reads /etc/nmea_sproxy/config.yaml.
Template instances read:
/etc/nmea_sproxy/instances/<operator-name>.yaml
nmea_sproxy/install.sh:
- installs runtime files to
/opt/nmea_sproxy; - creates
/etc/nmea_sproxy,/etc/nmea_sproxy/instances, and/etc/nmea_sproxy/keys; - preserves existing singleton config and keys;
- generates or repairs station public key material without overwriting an existing private key;
- installs singleton and template systemd units;
- enables only the singleton service;
- starts no services automatically.
nmea_sproxy/update.sh refreshes runtime and unit files, leaves /etc/nmea_sproxy untouched, and does not restart singleton or template instances automatically.
nmea_sproxy/uninstall.sh stops/disables services, removes runtime and unit files, and preserves /etc/nmea_sproxy by default. Use --purge-config to remove configuration and keys.