Project N.O.M.A.D, is a self-contained, offline survival computer packed with critical tools, knowledge, and AI to keep you informed and empowered—anytime, anywhere.
Go to file
2026-03-13 17:41:23 +00:00
.github chore: add Github issue templates 2026-03-13 07:13:42 +00:00
admin docs(release): finalize v1.29.0 release notes [skip ci] 2026-03-11 21:09:53 +00:00
agent Add container stack, nginx config, NAS templates, and monitoring agent 2026-03-13 17:32:28 +00:00
collections feat(collections): add Project Gutenberg ZIMs and fix broken education entry 2026-03-11 14:08:09 -07:00
docs/homelab Add homelab documentation, update Dockerfile with healthcheck, update entrypoint for NAS compatibility, rewrite README for Homelab Edition 2026-03-13 17:41:23 +00:00
homelab Add container stack, nginx config, NAS templates, and monitoring agent 2026-03-13 17:32:28 +00:00
install Add homelab documentation, update Dockerfile with healthcheck, update entrypoint for NAS compatibility, rewrite README for Homelab Edition 2026-03-13 17:41:23 +00:00
nginx Add container stack, nginx config, NAS templates, and monitoring agent 2026-03-13 17:32:28 +00:00
.dockerignore build: switch to node:22-slim image for libzim compat 2026-02-09 16:23:47 -08:00
.env.example Add container stack, nginx config, NAS templates, and monitoring agent 2026-03-13 17:32:28 +00:00
.gitignore feat: openwebui+ollama and zim management 2025-07-09 09:08:21 -07:00
.releaserc.json ops: support RC versions 2026-03-03 20:51:38 -08:00
CODE_OF_CONDUCT.md docs: add Contributor Covenant Code of Conduct 2026-03-11 17:07:41 -07:00
CONTRIBUTING.md docs: add CONTRIBUTING guidelines 2026-03-12 22:48:53 +00:00
docker-compose.yml Add container stack, nginx config, NAS templates, and monitoring agent 2026-03-13 17:32:28 +00:00
Dockerfile Add homelab documentation, update Dockerfile with healthcheck, update entrypoint for NAS compatibility, rewrite README for Homelab Edition 2026-03-13 17:41:23 +00:00
LICENSE chore: add Apache 2.0 license 2026-03-04 20:05:14 -08:00
package-lock.json feat(RAG): display embedding queue and improve progress tracking 2026-03-04 20:05:14 -08:00
package.json chore(release): 1.29.0 [skip ci] 2026-03-11 21:09:31 +00:00
README.md Add homelab documentation, update Dockerfile with healthcheck, update entrypoint for NAS compatibility, rewrite README for Homelab Edition 2026-03-13 17:41:23 +00:00

Project N.O.M.A.D. — Homelab Edition

Network Operations Monitoring and Automation Dashboard

Knowledge That Never Goes Offline — Now Container-Native for Your Homelab

Website Discord Benchmark


Project N.O.M.A.D. Homelab Edition is a container-native fork of Project N.O.M.A.D., optimized for NAS systems and homelab environments. It runs as a portable Docker Compose stack on Unraid, TrueNAS SCALE, and any standard Docker host.

Quick Start (Docker Compose)

# 1. Clone the repository
git clone https://github.com/DocwatZ/project-nomad-homelab-edition.git
cd project-nomad-homelab-edition

# 2. Configure environment
cp .env.example .env
sed -i "s/^APP_KEY=replaceme/APP_KEY=$(openssl rand -hex 32)/" .env
sed -i "s/^DB_PASSWORD=replaceme/DB_PASSWORD=$(openssl rand -base64 24)/" .env
sed -i "s/^MYSQL_ROOT_PASSWORD=replaceme/MYSQL_ROOT_PASSWORD=$(openssl rand -base64 24)/" .env

# 3. Create data directories
sudo mkdir -p /opt/project-nomad/{storage,redis,logs/nginx}

# 4. Start the stack
docker compose up -d

Open http://localhost:8080 to access the dashboard.

Container Architecture

Service Image Purpose
nomad-app project-nomad Web UI + API server
nomad-worker project-nomad Background job processing
nomad-database mysql:8.0 Persistent data storage
nomad-cache redis:7-alpine Cache + job queues
nomad-nginx nginx:alpine Reverse proxy

All services communicate over a private Docker network (nomad-internal).

NAS Compatibility

Platform Storage Path Guide
Unraid /mnt/user/appdata/project-nomad Unraid Guide
TrueNAS SCALE /mnt/pool/apps/project-nomad TrueNAS Guide
Linux /opt/project-nomad Installation Guide

NAS Install Templates

Storage Layout

NOMAD_DATA_DIR/
├── storage/          # Content files (ZIM, maps, uploads) — NAS share OK
├── redis/            # Redis persistence
└── logs/
    └── nginx/        # Nginx access/error logs

The MySQL database uses a Docker named volume for optimal I/O, avoiding NFS/SMB latency.

Reverse Proxy Support

Works behind common homelab reverse proxies:

Proxy Configuration
Nginx Proxy Manager Setup guide
Traefik Traefik config
Caddy Caddyfile

Monitoring Agent

Deploy lightweight monitoring agents on homelab nodes:

docker run -d --name nomad-agent \
  -p 9100:9100 \
  -v /var/run/docker.sock:/var/run/docker.sock:ro \
  -v /proc:/host/proc:ro \
  -e NODE_NAME=my-server \
  nomad-agent

Features: CPU/RAM/disk metrics, Docker container monitoring, Prometheus /metrics endpoint.

See the Agent Guide for details.

What's Included

Capability Powered By What You Get
Information Library Kiwix Offline Wikipedia, medical references, survival guides, ebooks
AI Assistant Ollama + Qdrant Built-in chat with document upload and semantic search
Education Platform Kolibri Khan Academy courses, progress tracking, multi-user support
Offline Maps ProtoMaps Downloadable regional maps with search and navigation
Data Tools CyberChef Encryption, encoding, hashing, and data analysis
Notes FlatNotes Local note-taking with markdown support
System Benchmark Built-in Hardware scoring, Builder Tags, and community leaderboard

Device Requirements

Minimum Specs

  • 2 GHz dual-core processor
  • 4 GB RAM (8 GB recommended)
  • 5 GB free disk space
  • Docker 20.10+ and Docker Compose v2+
  • Any Linux, Unraid, or TrueNAS SCALE host

Optimal Specs

  • AMD Ryzen 7 / Intel Core i7 or better
  • 32 GB RAM
  • NVIDIA RTX 3060+ (for AI features)
  • 250 GB SSD
  • Stable internet connection (for initial content downloads)

Documentation

Guide Description
Installation Guide Docker Compose setup
Unraid Guide Unraid-specific installation
TrueNAS Guide TrueNAS SCALE installation
Agent Guide Monitoring agent setup
Architecture System design and data flow
Monitoring Monitoring stack and Prometheus integration

Configuration

All configuration is handled through environment variables in .env. See .env.example for all options.

Key settings:

Variable Default Description
APP_KEY Encryption key (required)
DB_PASSWORD Database password (required)
URL http://localhost:8080 External access URL
NOMAD_DATA_DIR /opt/project-nomad Host storage directory
PORT 8080 Application port
LOG_LEVEL info Log verbosity

Updating

docker compose pull
docker compose up -d

About Internet Usage & Privacy

Project N.O.M.A.D. is designed for offline usage. An internet connection is only required during the initial installation (to download dependencies) and if you (the user) decide to download additional tools and resources at a later time. Otherwise, N.O.M.A.D. does not require an internet connection and has ZERO built-in telemetry.

Contributing

Contributions are welcome and appreciated! Please read the Contributing Guide for details.

This project uses semantic versioning. The version is managed in the root package.json and automatically updated by semantic-release.

Community & Resources

License

Project N.O.M.A.D. is licensed under the Apache License 2.0.