Nurvus Nurvus The System
Demi Demi The Agent

Nurvus

AI-powered homelab management

Demi is the AI agent. Nurvus is the system she manages.
Everything runs on your hardware.

Documentation Source Code

Meet Demi

Demi is a conversational AI agent that manages your entire homelab through natural language. Just tell her what you want and she handles the rest: deploying services, configuring networking, managing updates, and troubleshooting problems.

You
deploy jellyfin on port 8096
Demi
Here's the plan: - Container: jellyfin - Image: docker.io/jellyfin/jellyfin:latest - Port: 8096 -> 8096 - Volume: /srv/jellyfin/config:/config - Firewall: open 8096 Ready to proceed, or want to change anything?
You
yes
Demi
Jellyfin is live on port 8096.

What Can She Do?

Deploy Services

Jellyfin, Pi-hole, Minecraft, Nextcloud, Postgres, Nginx, and anything on Docker Hub.

Multi-Container Stacks

Deploy a web app with its own database. Shared networking, dependency ordering, stack-scoped naming.

Manage and Update

Restart, stop, start, update containers. View logs. Run commands inside containers.

Reverse Proxy

Set up Caddy with automatic HTTPS. Access services by domain name instead of IP:port.

System Monitoring

CPU, memory, disk, network stats. Process list. Network diagnostics: ping, DNS, port checks.

Network Shares

Discover and mount NFS/SMB shares from your NAS. USB drives too.

Scheduled Tasks

Back up databases nightly. Restart services weekly. One-off tasks. All via systemd timers.

Memory

Remembers your homelab, preferences, and past actions across sessions. Follow-ups get smarter over time.

Web UI

Access Demi from any device on your network. Run demi --serve and open it in your browser. Works on phones too.

Research and Deploy

Search Docker Hub, look up images, read project READMEs. Give her a GitHub link and she'll figure it out.

Why NixOS?

Nurvus is built on NixOS because it's the only Linux distribution where an AI agent can safely manage an entire system.

Declarative

The entire system lives in one config file. No hidden state, no drift, no surprises.

Rollback

Every change creates a new generation. Mistakes are instantly reversible. You can't brick your system.

Reproducible

The same config always builds the same system. Your homelab becomes portable.

No Imperative State

If it's not in the config, it doesn't exist. One source of truth for everything.

Without NixOS, letting an AI modify your system would be risky. With it, it's just another tool.

Talk to Demi

Just type what you need in plain English.

Deploy

  • "deploy pi-hole on port 8053"
  • "set up a minecraft server"
  • "deploy nextcloud with its own database"

Manage

  • "restart my postgres"
  • "update jellyfin to latest"
  • "show me the nginx logs"

Monitor

  • "what's using the most CPU?"
  • "is port 8096 open?"
  • "how much disk space do I have?"

Remember

  • "remember I prefer Caddy over Traefik"
  • "what do you know about my homelab?"
  • "what services have we deployed?"

Automate

  • "back up postgres every night at 2am"
  • "mount my NAS media share"
  • "put nextcloud behind caddy"

Getting Started

On a fresh NixOS machine or VM:

curl -sSL https://codeberg.org/ewrogers/nurvus/raw/branch/main/install.sh | sudo bash

Then run demi to start chatting.

Requirements: NixOS, 16GB+ RAM recommended

Recommended model: qwen3:30b-a3b (MoE, fast on CPU)

Everything is self-hosted. No cloud. No telemetry.

Full Documentation

The Name

Both names come from Phantasy Star IV: End of the Millennium on the Sega Genesis. In the game, Nurvus is a planetary control system that keeps the world running. When it fails, an android named Demi merges herself with the system to bring it back online.

Your homelab is Nurvus. Demi is the agent that keeps it running.