Manage your server by talking to it.

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
MIT · open-source ~2-min install Free with Gemini Nothing leaves your box
Prefer clicking? Get the desktop app for Mac & Windows
Mindy your server's daemon online
$
servermind.dev
web-1online
CPU0.21Mem38%Disk42%
redisnginxpm2 2
db-1online
CPU0.44Mem61%Disk88%
mysqlredis
cache-1online
CPU0.09Mem24%Disk31%
redis
app-2offline
CPUMemDisk
pm2 down
What it is

ServerMind is a self-hosted, open-source AI assistant that manages your Linux servers from one chat — on your own box, behind 2FA, with the AI you choose.

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.

On your machine

Installs on your VPS in ~2 minutes. Binds to localhost, needs no domain, opens no inbound ports. Nothing leaves your box.

Your AI, your call

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.

01The 2am test

Something stops working.
You don't even reach for SSH.

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.

assistant
03Capabilities

Everything you'd SSH in for — just ask.

Plain-English control over your whole stack, with a live dashboard and guardrails that keep it safe.

Chat your infrastructure

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.

Why is nginx down? Why are jobs piling up? Check the job queue depth Restart api-prod Tail the error log

Live dashboard

CPU, memory, disk, uptime, PM2 processes and service health — for one server or your whole fleet, auto-refreshing.

Teach it your own tools

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 →

One controller, many servers

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 →

Safe by design

Broad read-only reach — services, logs, DNS, mail, queues — with no raw shell, and an “arm” switch required before any change touches your box.

Bring your own AI

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.

Locked down

Password + TOTP 2FA, HttpOnly sessions, brute-force lockout, strict CSP. Nothing leaves your box.

One command to run

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.

Reports & alerts

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.

04Fleet

One login.
Your whole fleet.

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.

  • One controller, one login — every server in a single view
  • Agents dial out — no new inbound ports, no firewall changes
  • Add a server with one command from the dashboard; revoke in a click
  • Optional self-hosted WireGuard mesh — your keys, no third party
  • Every box still enforces its own read-only allowlist + arm switch
  • Reports & alerts from the whole fleet, deduped into one inbox
  • Ask once, across all of them — “which servers are unhealthy?”
servermind.dev › Fleet
web-1online
CPU0.21Mem38%Disk42%
redisnginxpm2 2
db-1online
CPU0.44Mem61%Disk88%
mysqlredis
cache-1online
CPU0.09Mem24%Disk31%
redis
app-2offline
CPUMemDisk
pm2 down
$ which servers are unhealthy? db-1 disk 88%, app-2 offline
Cost

Free to run.

  • The software is free and MIT-licensed — fork it, audit it, own it.
  • The default AI is free too: Google Gemini, ~1,500 requests/day, no credit card.
  • You only pay if you deliberately plug in a paid API — or stay free forever on Gemini, a free Groq key, or local Ollama.
No lock-in

Nothing to commit to.

  • No account, no cloud, no telemetry — there's nothing to sign up for.
  • Your keys and data stay in a local .env on your box.
  • Switch AI providers anytime by re-running the wizard.
  • Changed your mind? Remove it in one command:
$ curl -fsSL https://servermind.dev/uninstall.sh | bash
05Setup

From zero to chatting in three steps.

01

Install

Run one command on your VPS. It sets up Bun, PM2, and ServerMind automatically — no manual config.

02

Set up

A wizard walks you through a password, a TOTP QR scan, and picking your AI backend. Two minutes, start to finish.

03

Connect

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.

06Desktop app

Skip the tunnels. Open a native app.

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.

  • One outbound SSH tunnel — nothing new exposed to the internet
  • Host key pinned on first connect; credentials sealed in your OS keychain
  • Point it at a fleet controller, or a local / Docker box directly

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.

07Security

Your server. Your keys.
Your data.

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.

  • Argv-only execution — command injection is structurally impossible
  • No database — there's no SQL-injection surface at all
  • Server-enforced “arm” gate before any restart or change
  • Password + TOTP 2FA, HttpOnly sessions, brute-force lockout
  • Settings secrets encrypted at rest (AES-256-GCM), masked in the API
shell allowlist
# 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
08Compare

Not a monitor. Not a terminal. Not an autonomous agent.

The one tool that's self-hosted, conversational, and guardrailed — and needs no domain to run.

vs monitoring tools

Netdata and Cockpit show you graphs. ServerMind explains them and acts — it runs the fix once you arm it.

vs AI terminals

Warp lives in your laptop's shell. ServerMind lives on the server — a shared dashboard and a production safety model.

vs autonomous agents

A full shell can do anything — including the wrong thing. ServerMind is read-only by default, with an arm switch for changes.

See the full comparison, tool by tool →

09Questions

The questions you'd ask before trusting it.

Straight answers on cost, access, and what an AI can actually do to your server.

Is ServerMind free?

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.

Do I need a domain name?

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.

Do I need Caddy or Nginx?

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.

Can it manage more than one server?

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.

Is it safe to let an AI control my server?

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.

Does my data leave my server?

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.

What do I need to run it?

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.

Can it break my server?

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.

Which AI backend should I pick?

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.

Is it really open-source?

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.

Spin it up in two minutes.

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
View on GitHub →

No account, no card, no telemetry — and you can remove it in one command.