Autostart
JARVIS supports autostart/background-service installation on:
- Linux via
systemd --user - macOS via
launchd
The onboarding wizard can help with startup-related setup, but this page is the manual reference.
Why Use Autostart
Section titled “Why Use Autostart”Autostart is useful when:
- You run JARVIS on your daily machine and want it available after reboot
- You host it on a home server and want it to come back automatically
- You do not want to manually open a shell and run
jarvis startevery time
Linux: systemd --user
Section titled “Linux: systemd --user”Create this file:
~/.config/systemd/user/jarvis.serviceExample unit:
[Unit]Description=J.A.R.V.I.S. DaemonAfter=network.target
[Service]Type=simpleExecStart=%h/.bun/bin/jarvis startRestart=on-failureRestartSec=5Environment=HOME=%h
[Install]WantedBy=default.targetThen enable it:
systemctl --user daemon-reloadsystemctl --user enable jarvis.servicesystemctl --user start jarvis.serviceUseful commands:
systemctl --user status jarvis.servicejournalctl --user -u jarvis.service -fBoot Before Login
Section titled “Boot Before Login”If you want user services to continue even when you are not logged in:
loginctl enable-linger "$USER"macOS: launchd
Section titled “macOS: launchd”If you installed JARVIS with the recommended global package command, prefer launching the global jarvis executable directly.
Create:
~/Library/LaunchAgents/ai.jarvis.daemon.plistExample plist:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict> <key>Label</key> <string>ai.jarvis.daemon</string> <key>ProgramArguments</key> <array> <string>/Users/your-user/.bun/bin/jarvis</string> <string>start</string> </array> <key>RunAtLoad</key> <true/> <key>KeepAlive</key> <true/></dict></plist>Then load it:
launchctl load ~/Library/LaunchAgents/ai.jarvis.daemon.plistlaunchctl start ai.jarvis.daemonSource Checkout Variant
Section titled “Source Checkout Variant”If you installed JARVIS from a source checkout instead of the global package, the launchd command should point at your checked-out CLI entrypoint instead:
<key>ProgramArguments</key> <array> <string>/Users/your-user/.bun/bin/bun</string> <string>/path/to/jarvis/bin/jarvis.ts</string> <string>start</string> </array>Use this variant only if you followed the manual repository install path from Installation.
Operational Advice
Section titled “Operational Advice”If you use autostart:
- Make sure your config is valid before enabling it
- Verify the dashboard is reachable after reboot
- Check logs first if the service appears to start but the dashboard is unavailable
Video Tutorial Placeholder
Section titled “Video Tutorial Placeholder”Video tutorial placeholder: setting up JARVIS as a background service on Linux and macOS.
Add your future video link here.