Installation
JARVIS can run:
- On your local machine
- On a home server
- On a VPS
- In Docker
Security First
Section titled “Security First”JARVIS can control files, terminals, browsers, remote channels, and connected machines. Treat installation as a security decision, not just a package install.
Before exposing the dashboard outside localhost or giving JARVIS access to real accounts, read:
The daemon is the brain. It does not need to live on the same machine that you want to control. If you want JARVIS to stay online 24/7, a server or always-on machine is the best fit. If you want JARVIS to control another machine’s desktop, browser, or filesystem, install a sidecar there after the daemon is up.
Recommended Install
Section titled “Recommended Install”The simplest path is the Bun package:
bun install -g @usejarvis/brainjarvis onboardThen start it:
jarvis startRequirements
Section titled “Requirements”Before installing, make sure you have:
- Bun
- A supported OS: Linux, macOS, or Windows/WSL2
- At least one LLM provider configured
Optional but common:
- Ollama if you want local models
- Google OAuth credentials for Gmail or Calendar features
- Telegram or Discord bot credentials for remote messaging
- ElevenLabs credentials if you want premium TTS
Installation Options
Section titled “Installation Options”Option 1: Bun Package
Section titled “Option 1: Bun Package”Use this if you want the fastest local install:
bun install -g @usejarvis/brainjarvis onboardOption 2: One-Liner Installer
Section titled “Option 2: One-Liner Installer”Use this if you want the repository installed under ~/.jarvis/daemon automatically:
curl -fsSL https://raw.githubusercontent.com/vierisid/jarvis/main/install.sh -o /tmp/jarvis-install.shless /tmp/jarvis-install.shbash /tmp/jarvis-install.shjarvis onboardIf you want a more reproducible install, pin that URL to a specific release tag or commit instead of main.
Option 3: Manual Repository Install
Section titled “Option 3: Manual Repository Install”Use this if you want the full source checkout:
git clone https://github.com/vierisid/jarvis.git ~/.jarvis/daemoncd ~/.jarvis/daemonbun installbun run build:uiThen run:
bin/jarvis.ts onboardOr, if the CLI is already linked globally:
jarvis onboardOption 4: Docker
Section titled “Option 4: Docker”Docker is useful when you want to host the daemon in a containerized environment:
docker run -d --name jarvis \ -p 3142:3142 \ -v jarvis-data:/data \ ghcr.io/vierisid/jarvis:0.2.1Replace 0.2.1 with the release you want to run. Use :latest only if you explicitly want floating upgrades.
Important limitation:
- The daemon inside Docker does not automatically gain access to your host desktop, browser, clipboard, or native apps.
- If you want real desktop/browser automation on another machine, install a sidecar on that machine.
Docker: Mounting a Real Config File
Section titled “Docker: Mounting a Real Config File”If you want repeatable config management, mount your own config.yaml into the container instead of relying only on environment variables.
Example pattern:
mkdir -p ~/.jarvis-dockercp ~/.jarvis/config.yaml ~/.jarvis-docker/config.yamlThen run:
docker run -d --name jarvis \ -p 3142:3142 \ -v ~/.jarvis-docker/config.yaml:/data/config.yaml \ -v jarvis-data:/data \ ghcr.io/vierisid/jarvis:latestDocker: Networking Advice
Section titled “Docker: Networking Advice”When JARVIS runs in Docker, localhost inside the container is the container itself.
That means:
ollama.base_url: http://localhost:11434only works if Ollama is inside the same network context the daemon can actually reach- the same warning applies to local Whisper endpoints and similar local services
If those services live somewhere else, point JARVIS at:
- a reachable host IP
- a service/container hostname
- a reverse-proxied hostname
See Troubleshooting for the detailed explanation.
Choosing Where to Run the Daemon
Section titled “Choosing Where to Run the Daemon”Local Machine
Section titled “Local Machine”Best when:
- You are just getting started
- You want the simplest setup
- You mainly use one machine
Tradeoffs:
- JARVIS only stays online while that machine is on
- If you want it to start automatically after reboot, configure Autostart
VPS or Home Server
Section titled “VPS or Home Server”Best when:
- You want JARVIS available 24/7
- You want one daemon to coordinate multiple machines
- You care about uptime more than local-only simplicity
Tradeoffs:
- You need to think about public URL, auth token, and remote access
- Desktop/browser control still happens through sidecars on the target machines
After Installation
Section titled “After Installation”The next steps are:
- Run Quick Start
- Configure Autostart if you want it managed as a background service
- Install sidecars on any machines you want JARVIS to control directly
Sidecar Reminder
Section titled “Sidecar Reminder”The daemon and the sidecar are different things:
- The daemon is the brain
- The sidecar is the machine-level actuator
If you run JARVIS on a VPS and want it to see and control your laptop, install a sidecar on the laptop. See Desktop Control.