You chat, it acts
Ask in plain English. It runs read-only checks, shows a live dashboard, and changes things only when you flip the arm switch.
A self-hosted AI assistant for people who own the Linux box but never signed up to be its sysadmin. Ask in plain English — it checks, explains, and changes things only when you arm it.
$ curl -fsSL https://servermind.dev/install.sh | bash
Ask in plain English. It runs read-only checks, shows a live dashboard, and changes things only when you flip the arm switch.
Installs on your VPS in ~2 minutes. Binds to localhost, needs no domain, opens no inbound ports. Nothing leaves your box.
Free Google Gemini (~1,500 req/day, no card), a Claude subscription, or any OpenAI-compatible API — even local Ollama.
Monitors & manages your whole stack
You don't log into your server anymore. You have a conversation with it.
The old way: log in, tail the logs, grep, guess, restart, hope. The ServerMind way — you ask, and it traces the whole pipeline — services, logs, and the queues between them — to find the part that silently died, then tells you exactly what broke and how to fix it.
Indie devs, agencies, small teams, homelabbers — anyone keeping a server alive without a DevOps department.
You shipped the app; one VPS quietly runs it. Manage the box without becoming a sysadmin.
A dozen client servers, all different. Put them under one login and one alerts inbox.
No SRE yet. Give the team safe, plain-English production access — guardrails stop accidents.
Pager fires at 2am. Skip the syntax — ask what changed, read logs, fix it once you arm it.
Docker, Pi-hole, media servers. A private copilot that needs no domain and runs offline on Ollama.
Ask "how many active orders?" — the AI writes a validated read-only SELECT. No write access, ever.
Plain-English control over your whole stack, with a live dashboard and guardrails that keep it safe.
Ask in plain English. It picks the right tools, runs them, and explains what it finds — no syntax to remember. It traces the whole path, not just the obvious part: services, logs, DNS, mail, and the queues between them.
CPU, memory, disk, uptime, PM2 processes and service health — for one server or your whole fleet, auto-refreshing.
Add tools from the dashboard — a frozen command, a read-only DB query, a "DB console" it writes SELECTs against, or a parameterized command where it fills in just the argument. Paste one as JSON, and when it hits its limits it hands you the exact tool to approve in one click. You define them, the AI only triggers them. See how →
Add as many boxes as you want. Each runs a lightweight agent that dials out to your controller — monitor and manage the whole fleet from one login. See how →
Broad read-only reach — services, logs, DNS, mail, queues — with no raw shell, and an “arm” switch required before any change touches your box.
Free Gemini, a Claude subscription, or any OpenAI-compatible API — xAI Grok, Groq, OpenRouter, DeepSeek, even local Ollama. No lock-in. The same tools and guardrails apply whichever you pick.
Password + TOTP 2FA, HttpOnly sessions, brute-force lockout, strict CSP. Nothing leaves your box.
curl | bash, then a wizard handles auth, your AI, and services. Updates are one command too — no reconfig. Open-source — fork it, audit it, own it.
A daily health report by email, plus instant alerts on high disk/memory, a downed service, or a TLS cert about to expire. It watches so you don't have to.
Start with one server — that's the zero-config default. When you grow, point new boxes at a controller and watch every server light up in one dashboard. No per-server logins, no jumping between tabs.
Each box runs a lightweight agent that dials out to the controller over a single WebSocket — so there are no extra inbound ports to open, and the controller can be any one of your servers. Add --mesh to route the whole link over a self-hosted WireGuard mesh — encrypted, with no third-party coordination server.
.env on your box.$ curl -fsSL https://servermind.dev/uninstall.sh | bash
Run one command on your VPS. It sets up Bun, PM2, and ServerMind automatically — no manual config.
A wizard walks you through a password, a TOTP QR scan, and picking your AI backend. Two minutes, start to finish.
Open the desktop app (recommended), add your server, and it tunnels in over SSH — no domain, proxy, or certs. Then chat, and arm mutations when you actually want to change something.
ServerMind Desktop opens one secure SSH tunnel to your controller and renders its dashboard in a window — no domain, no reverse proxy, no certificates. Your servers stay bound to localhost; the app is just a private window in.
Free & open source · Universal Mac · Windows 10/11 Unsigned beta — first launch: right-click → Open on Mac, or More info → Run anyway on Windows.
$ brew install --cask AjjlalAhmed/homebrew-tap/servermind
On a Mac with Homebrew. Add --no-quarantine (copied for you) to skip the unsigned-app prompt.
ServerMind runs on your own machine. Your AI keys stay in your .env, your logs never leave the box, and every command the AI can run is a vetted, read-only-by-default tool — there's no raw shell to escape into.
# read-only by default — no rm, no writes, no network
$ df -h ✓ allowed
$ systemctl status ✓ allowed
$ rm -rf / ✗ REJECTED
$ cat /etc/shadow ✗ REJECTED
# mutations need you to arm them first
$ pm2 restart api ⚠ DISARMED — flip the switch
The one tool that's self-hosted, conversational, and guardrailed — and needs no domain to run.
Netdata and Cockpit show you graphs. ServerMind explains them and acts — it runs the fix once you arm it.
Warp lives in your laptop's shell. ServerMind lives on the server — a shared dashboard and a production safety model.
A full shell can do anything — including the wrong thing. ServerMind is read-only by default, with an arm switch for changes.
Straight answers on cost, access, and what an AI can actually do to your server.
The software is free and open-source (MIT) — fork it, audit it, self-host it. The only possible cost is the AI you point it at, and that's your choice.
The default free path is Google Gemini (~1,500 requests/day, no credit card). You can also use a Claude subscription you already pay for, a free Groq key, or a local Ollama model for zero ongoing cost. You only pay if you deliberately plug in a paid API.
No. ServerMind binds to localhost on your server and you reach it privately — over an SSH tunnel (ssh -L 5500:127.0.0.1:5500 user@server) or a Tailscale tailnet. No domain, no DNS, no TLS to configure.
A public HTTPS domain is optional — only worth it if you want to open it to the wider internet. The setup guide covers all three.
No. ServerMind serves its own UI — it runs fine on its own. A reverse proxy like Caddy or Nginx is only needed if you want a public domain with HTTPS, and the setup wizard prints a ready-to-paste config when you do. For the SSH-tunnel or Tailscale path, you need neither.
Yes. One server works on its own with zero config. When you want more, pick one instance as a controller and run a lightweight agent on each other box — it dials out to the controller, so no new inbound ports are opened. Every server then shows up in one dashboard under a single login, with fleet-wide chat and reports.
If your controller has no public IP or domain, the installer can stand up an optional self-hosted WireGuard mesh (install.sh --mesh) — a private encrypted network your fleet talks over, so you don't need Tailscale or to expose anything publicly.
Security carries over per box: each agent enforces its own read-only allowlist and arm switch — the controller can ask, but it can't bypass a server's guardrails. The fleet setup guide has the steps.
Safety is enforced by the code, not by trusting the model. Every command runs against a strict read-only allowlist — there's no raw shell, no rm, no writes, no network — so command injection is structurally impossible.
Anything that changes your server (restart, stop, start) is refused unless you flip the server-side “arm” switch first, and that arming auto-expires. Even if the AI is tricked by a malicious log line, it can't act while disarmed.
Nothing is ever sent to ServerMind's authors — there's no cloud backend. Your config and secrets live in a local .env (chmod 600) on your box.
The one exception is your chosen AI: when you ask a question, your prompt and the specific command output the model needs go to that provider (using your key, your account) — Google, Anthropic, etc. If you want absolutely nothing to leave the machine, point it at a local Ollama model.
A Linux VPS (Ubuntu, Debian, Fedora, Alpine…), the ability to paste one command into its terminal, and an AI key (free Gemini works). The installer handles the rest — it sets up Bun and PM2 for you. It's light enough for a small VPS. Full list in the requirements.
It can't run destructive commands — deletes, writes, and arbitrary shell aren't in the allowlist at all. The only changes it can make are service restart/stop/start, and only after you explicitly arm them. Read-only inspection (status, logs, disk, ports) is always safe and never touches anything.
Free & easy: Google Gemini. Best quality: a Claude subscription (no API key — uses the local claude CLI). Private/offline: local Ollama. Fast & free: Groq. You can switch anytime by re-running bun run setup.
Yes — MIT licensed, no telemetry, no walled garden. Read every line on GitHub, audit the tool allowlist yourself, and fork it if you want to change how it behaves.
Still have questions? The full setup guide walks through everything step by step.
Self-hosted, open-source, and free with Gemini. Your server has never been this easy to talk to.
$ curl -fsSL https://servermind.dev/install.sh | bash
No account, no card, no telemetry — and you can remove it in one command.