⟩ Self-hosted AI ops

This is Vigilus.

Runs on your hardware, with your models, under your rules.

$ docker run -d \ --name vigilus \ -p 8000:8000 \ -e VIGILUS_SECRET="$(openssl rand -hex 32)" \ -v vigilus-data:/app/data \ -v /var/run/docker.sock:/var/run/docker.sock:ro \ ghcr.io/vigilus-labs/vigilus:latest

// Active operators

infra-monitor
claude-3.5-sonnet
security-scanner
gpt-4o
patch-manager
llama-3.1-70b

// Pending elevation

patch-manager docker.write

Restart nginx container after config update on prod-web-01

Approve Deny TTL 14:58

⟩ Why Vigilus

Plenty of AI tools will answer questions about your infrastructure. Vigilus is built to operate it. It connects over SSH, reads SIEM alerts, and manages containers through agents you define, with models you choose, on hardware you own.

Every write, execution, and elevation goes through your permission system. Reads stay available. Anything that changes state needs a scoped, time-limited token that you approve live or auto-approve with a log entry. Every action lands in an append-only audit log.

The point is not that AI can run your homelab. It is that you decide how far it can reach, and you can watch it work.

⟩ What it does

Operators you define

Give each sub-agent a system prompt, a model, a tool set, and a permission level. Vigilus routes work to the right Operator. You decide what each one can do.

Bring your own model

Anthropic, OpenAI, Google, Ollama, LM Studio, vLLM, OpenRouter, xAI, or any OpenAI-compatible endpoint. Pick a different model per Operator.

MCP-native

Run MCP servers on the host for nmap, WireGuard, filesystem, Wazuh, and more. Their tools are auto-discovered and assignable to Operators. Built in, not bolted on.

Real infrastructure reach

Pull Wazuh alerts, logs, and vulnerabilities. Run apt update and upgrade over SSH. Manage Docker containers and compose stacks. Act on the host itself.

Just-In-Time access

Reads are always available. Writes, exec, and elevation need a scoped, time-limited, signed token. Strict mode waits for approval. Lenient mode auto-approves and logs.

Audited by default

Every tool call, allowed or denied, lands in an append-only action log. Secrets stay encrypted at rest and never show up in the clear. No opt-in required.

⟩ Just-In-Time access

Reads stay on. Writes need a signed, time-limited token.

Every Operator action is classified by intent. Logs, status, and metrics stay available. Anything that writes, executes, or elevates privileges has to pass the JIT gate. The token is scoped to a specific resource, action, and time window.

Strict mode

Every elevation request waits in the dashboard. You see the Operator, the resource, the action, and a short description. Approve or deny. Nothing runs without you.

Lenient mode

Elevation requests are auto-approved and logged. Review them later in the action log. Useful for trusted Operators doing routine maintenance.

Pending elevation request

infra-monitor ssh.exec

Run apt upgrade -y on prod-db-01

Approve Deny TTL 29:59

⟩ MCP-native

Install an MCP server. Its tools show up automatically.

MCP is part of the core product, not a plugin. Run servers on the host for network scans, VPN management, filesystems, and SIEM hooks. Vigilus discovers their tools and lets you assign them to any Operator.

nmap running
wireguard running
filesystem running
wazuh running
docker running

⟩ What this is, and what it isn't

Vigilus is

  • A self-hosted platform you run on your own hardware.
  • An orchestrator that routes tasks to Operators you define.
  • A permission system where you control what each Operator can reach.
  • An audit log that records every action, allowed or denied.
  • A config-first web dashboard. No CLI-only setup ritual.

It is not

  • Not a hosted SaaS. There is no Vigilus cloud. Your box, your data.
  • Not a walled garden. Bring your own models, MCP servers, and infrastructure.
  • Not a substitute for knowing your own setup. It operates. You still design.
  • Not a chatbot. It runs commands, reads logs, and manages containers.

⟩ Bring your own model

Any provider. Local or cloud. Per Operator.

Vigilus works with the major providers and any OpenAI-compatible endpoint, including models you host yourself. Give each Operator its own model: a local Llama for routine checks, Claude for harder reasoning, GPT-4o for security work.

Anthropic OpenAI Google Ollama LM Studio vLLM OpenRouter xAI + any OpenAI-compatible endpoint

⟩ Get started

One command on your hardware.

Read the docs, or run it and see.

$ docker run -d --name vigilus -p 8000:8000 -e VIGILUS_SECRET="$(openssl rand -hex 32)" -v vigilus-data:/app/data ghcr.io/vigilus-labs/vigilus:latest