[Unit] Description=JMRI Server (JmriFaceless) Documentation=https://www.jmri.org/ # jmri-monitor starts and stops this service based on LocoNet traffic. # Do NOT enable this unit directly — it is managed by jmri-monitor.service. After=network.target systemd-udev-settle.service [Service] Type=simple User={{ jmri_user }} Group={{ jmri_group }} WorkingDirectory={{ jmri_install_dir }} ExecStart={{ jmri_install_dir }}/JmriFaceless --profile={{ jmri_profile_id }} # Monitor owns lifecycle — do not auto-restart Restart=no # Give hardware time to settle on start TimeoutStartSec=30 # Logging — view with: journalctl -u jmri -f StandardOutput=journal StandardError=journal SyslogIdentifier=jmri # Serial device access SupplementaryGroups=dialout [Install] # Intentionally no WantedBy — started only by jmri-monitor WantedBy=