[Unit] Description=Archipelago Kiosk (X11 + Chromium) After=archipelago.service systemd-user-sessions.service network-online.target Wants=archipelago.service network-online.target ConditionPathExists=/usr/local/bin/archipelago-kiosk-launcher Conflicts=getty@tty1.service [Service] Type=simple # Wait up to 5 min for archipelago to serve /health. On slow hardware # first-boot is dominated by the FileBrowser pull (unbundled ISO), # initial archipelago state sync, and frontend settle — .198 took # longer than 120s and chromium launched against an empty backend, # producing a white window that only recovered on reboot. 300s gives # slow-but-functional hardware enough headroom; TimeoutStartSec is # bumped in lockstep so systemd doesn't kill us mid-wait. ExecStartPre=/bin/bash -c 'for i in $(seq 1 150); do curl -sf http://localhost/health >/dev/null 2>&1 && break; sleep 2; done' ExecStart=/usr/local/bin/archipelago-kiosk-launcher TimeoutStartSec=360 Restart=always RestartSec=5 [Install] WantedBy=multi-user.target