Skip to content

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.

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 start every time

Create this file:

~/.config/systemd/user/jarvis.service

Example unit:

[Unit]
Description=J.A.R.V.I.S. Daemon
After=network.target
[Service]
Type=simple
ExecStart=%h/.bun/bin/jarvis start
Restart=on-failure
RestartSec=5
Environment=HOME=%h
[Install]
WantedBy=default.target

Then enable it:

Terminal window
systemctl --user daemon-reload
systemctl --user enable jarvis.service
systemctl --user start jarvis.service

Useful commands:

Terminal window
systemctl --user status jarvis.service
journalctl --user -u jarvis.service -f

If you want user services to continue even when you are not logged in:

Terminal window
loginctl enable-linger "$USER"

If you installed JARVIS with the recommended global package command, prefer launching the global jarvis executable directly.

Create:

~/Library/LaunchAgents/ai.jarvis.daemon.plist

Example 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:

Terminal window
launchctl load ~/Library/LaunchAgents/ai.jarvis.daemon.plist
launchctl start ai.jarvis.daemon

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.

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: setting up JARVIS as a background service on Linux and macOS.

Add your future video link here.