Some time ago at VirtusLab, a sobering thought struck us - our collective GitHub starred projects list had grown to truly obscene proportions. Hundreds of repositories, most never revisited after that initial star. So we figured: why not do something useful with this addiction? Welcome to GitHub All-Stars, our biweekly series where we pick a trending or freshly minted open-source project and put it under the microscope. We focus on new, relatively unknown gems - not another breakdown of the latest React release (because let's be honest, the world has enough of those).
This time, we're looking at a project that lives at an unusual intersection of prepper culture, self-hosting enthusiasm, and edge computing philosophy. And it just exploded on Hacker News.
When the WiFi Dies, What Do You Actually Know?
We live… in the interesting times, you are probably aware of that, aren’t you?
Here's a thought experiment: your internet goes down. Not for an hour - permanently. A natural disaster, a government shutdown, a cyberattack on infrastructure, or you just moved to a cabin in the woods to escape LinkedIn hustle culture. Whatever the reason, your connection is gone.

How much of what you "know" is actually just stuff you can Google? Medical dosages, how to fix a leaking pipe, what plants in your area are edible, basic electrical wiring, the entire curriculum your kids were working through? It all vanishes the moment your router blinks off.
Chris Sherwood, the networking expert and YouTuber behind Crosstalk Solutions (380K+ subscribers, 8+ years of VoIP and networking tutorials), had exactly this realization. The result is Project N.O.M.A.D. - Node for Offline Media, Archives, and Data - a free, open-source, self-contained offline server that bundles encyclopedic knowledge, local AI, offline maps, educational platforms, and data tools into a single docker compose up -d.
As Sherwood puts it: "When that internet connection goes away, it all goes away. I wanted to find a way to save a copy of that information locally."

And no, this isn't vibecoded. Sherwood and his developer (GitHub user jakeaturner, who runs the CI/CD pipelines and appears to be the primary code contributor) have been working on NOMAD for over a year. The repo sits at ~13,000+ stars, 1,200+ forks, 52 releases, and 396 commits at the time of writing. It just hit Hacker News (again), and the growth trajectory is steep.
The Architecture: An Orchestrator for Your Personal Knowledge Infrastructure
At its core, NOMAD is not a monolithic application. It's a management layer - dubbed the "Command Center" - that orchestrates a fleet of containerized open-source tools via Docker. Think of it as a specialized Portainer with a curated app catalog, specifically designed for the use case of offline knowledge and AI.
Here's the high-level architecture:

The key design decision here is that NOMAD itself is extremely lightweight. The Command Center is a Node.js 22 application (built from a node:22-slim Docker image) that acts purely as a control plane. It manages installation, configuration, lifecycle, and updates for all the actual workload containers. The Dockerfile reveals dependencies on graphicsmagick (for PDF thumbnail rendering via pdf2pic) and sharp (via libvips-dev) for image processing, but the app itself is a relatively slim TypeScript server.
State persistence is handled through MySQL (for application state - installed tools, settings, benchmark scores) and Redis (likely for session/cache), both running as sidecar containers in the same Compose stack. This is a pragmatic choice - SQLite would have been simpler, but MySQL handles concurrent access from the management UI and the API without fuss.
The Install Script: Shell-Scripted Reliability
The install script (install_nomad.sh) deserves attention. It's a well-structured, ~500+ line bash script that:
- Validates the environment (bash, Debian-based, sudo)
- Installs Docker if missing (via the official convenience script)
- Detects NVIDIA GPUs and configures the NVIDIA Container Toolkit runtime
- Generates random credentials for MySQL
- Downloads the Docker Compose manifest and entrypoint scripts
- Sets up a sidecar updater container for self-updating capabilities
- Deploys everything to
/opt/project-nomad
There's also a wait-for-it.sh dependency (pulled from the well-known vishnubob/wait-for-it repo) for healthcheck-based startup sequencing. The NVIDIA detection is particularly nice - if you have a GPU, NOMAD automatically configures the Docker runtime to pass it through to Ollama, which means local LLM inference gets GPU acceleration out of the box.
What I find refreshing is the honesty of the approach: it's curl | sudo bash, yes, but the script is readable, well-commented, and does exactly what it says. No hidden telemetry, no phone-home. NOMAD's internet connectivity check is a single request to Cloudflare's 1.1.1.1/cdn-cgi/trace endpoint to determine if you're online, and that's it.
The Module System: Standing on the Shoulders of Giants
The real value of NOMAD isn't in any single component - it's in the curation and integration. Each "capability" maps to one or more battle-tested open-source projects:
| Module | Backing Project | What it Does |
|---|---|---|
| Information Library | Kiwix | Offline Wikipedia, Project Gutenberg (75K+ ebooks), medical references, survival guides, WikiHow. Content stored as ZIM files. |
| AI Assistant | Ollama + Qdrant | Local LLM inference with GPU support. Qdrant provides vector storage for RAG - upload documents, ask questions against them. |
| Education | Kolibri | Khan Academy courses with progress tracking, multi-user support. Full curriculum offline. |
| Offline Maps | ProtoMaps + MapLibre GL JS | Regional OpenStreetMap derivatives, downloadable in chunks. No need for the full 120GB+ basemap. |
| Data Tools | CyberChef | GCHQ's data analysis toolkit - encryption, encoding, hashing, regex. |
| Notes | FlatNotes | Markdown-based local note-taking. |
| Logs | Dozzle | Container log viewer (shell access and container actions disabled by default for security). |
The Wikipedia content alone can range from a compact 11.1 GB package to the full 99.6 GB archive. NOMAD's setup wizard lets you pick content "collections" - curated bundles of ZIM files organized by topic - and shows storage requirements before download. This is a small but critical UX detail that most similar projects skip entirely.
The maps module is handled via a separate repository because the regional map files are too large for the main repo. These are derivatives of the ProtoMaps basemap (itself built on OpenStreetMap data), split into downloadable regional chunks with customized MapLibre GL JS assets.
Developer Experience: Two Commands and You're Offline
If you've ever typed docker run, you already know the hardest part:
That's it. After a few minutes of Docker pulling and container initialization, you navigate to http://localhost:8080 and hit the setup wizard. Advanced users can grab the Docker Compose template and customize it directly.
The Command Center itself provides a web-based management UI for everything: installing/removing tools, downloading content collections, managing AI models, viewing system benchmarks, and checking logs. There's also a set of helper scripts at /opt/project-nomad/ for start/stop/update/uninstall operations - useful when the UI isn't available.

A particularly fun feature is the built-in system benchmark with a community leaderboard. Users can score their hardware and optionally share results, including "Builder Tags" for bragging rights. The leaderboard reveals that community builds range from repurposed laptops scoring in the single digits to GPU-powered rigs hitting 95+. It's a smart community engagement mechanic.
The Hacker News Discourse: Preppers, Pragmatists, and the "Why Node.js?" Crowd
Project NOMAD hit Hacker News multiple times, gathering nearly 500 points on one thread and sparking exactly the kind of debate you'd expect.
The discussion breaks into several camps. The pragmatists noted the real-world utility beyond doomsday scenarios - countries where governments routinely shut down internet access, remote research stations, sailboat living, RVs, and schools in areas with poor connectivity. As one commenter put it: treating knowledge as infrastructure rather than something implicitly guaranteed feels more like resilience than pessimism.
The skeptics questioned the LLM component - in a real off-grid scenario, would you really spend precious battery on running an LLM? The counterargument: solar panels exist, and having an AI assistant that can reason about your offline knowledge base is uniquely valuable. Someone joked about becoming "the Wizard of Oz, the all-knowing oracle" post-apocalypse.
The technical critics had more substantive points. The ZIM file format (used by Kiwix for Wikipedia storage) was flagged as showing its age in 2026, with one commenter suggesting columnar database approaches could achieve 8x better compression. Another commenter simply lamented: "It could use some own wisdom not to use Node.js." (A take as old as Node itself.)
The feature requests were creative: a portable "Nomad Deck" on a Steam Deck (though someone correctly noted that unprotected glass screens aren't great for survival scenarios), better international support (the project is admittedly US-centric in its default content collections), and deeper integration options.
Competitive Landscape: The $700 Raspberry Pi Problem
This is where NOMAD's positioning gets interesting. The "offline survival computer" market is surprisingly real:
- PrepperDisk - Raspberry Pi-based devices pre-loaded with Wikipedia, maps, WikiHow guides, and survival PDFs. Prices range from $150 (Classic, 256GB) to $512+ (Premium). Closed ecosystem, limited hardware.
- DoomBox by LandStruck - A more ambitious device ($199–$699) that includes software-defined radio alongside offline AI. Still Raspberry Pi-based, still limited by the hardware.
- SurvivalNet - Similar concept, similar hardware, similar prices ($150+). Adds an EMP protection pouch (points for creativity).
- Internet-in-a-Box - The OG of offline knowledge servers. Free and open-source, but geared toward Raspberry Pi and lightweight hardware. No AI integration.
- Kiwix standalone - Just the offline Wikipedia/encyclopedia component. No management layer, no AI, no maps, no education platform.
NOMAD's differentiator is threefold: it's completely free, it runs on any hardware, and it supports GPU-accelerated AI (because it targets "beefy" machines, not the cheapest possible SBC). As the project website puts it, other offline products are stuck on Raspberry Pis, while NOMAD supports GPU-accelerated inference on models with real intelligence.
This is a deliberate and defensible positioning choice. If you're building a knowledge server for actual extended offline use, you probably want it on something more powerful than a Pi Zero. The trade-off is portability - a Pi fits in your backpack, a desktop with an RTX 3060 does not. But NOMAD acknowledges this directly and positions Internet-in-a-Box as the lightweight alternative for Pi users.
Things I'd Like to See
Is it perfect? No. Here are the gaps that stand out:
Authentication. NOMAD ships with zero authentication by design. The README acknowledges this and suggests network-level controls, but for multi-user scenarios (families, classrooms, shared community installations), this is a real limitation. The team says they "may consider" optional auth in the future - I'd push that higher up the priority list.
Internationalization. The default content collections are heavily US-centric. There's a recent PR adding German/Austrian ZIM categories, which is great, but the project needs a more systematic approach to multilingual content curation. Wikipedia is available in hundreds of languages through Kiwix, but the setup wizard's curated collections don't reflect that breadth yet.
Security hardening. MySQL and Redis port exposure was recently removed from the default configuration (thanks to community contributor @traxeon), and Dozzle's shell access is now disabled by default. Good. But the general posture of "not designed to be exposed to the internet" with "no authentication" means a single misconfiguration could be problematic. At a minimum, a firewall configuration script or iptables template would help less experienced users.
Content freshness. Offline knowledge has a staleness problem by definition. A mechanism for scheduled delta-updates (when the internet is temporarily available) would be valuable - download just the changes since last sync, rather than re-downloading entire ZIM files.
Documentation for contributors. The CONTRIBUTING.md is solid on process (conventional commits, branch naming, PR workflow), but there's no architecture guide or CLAUDE.md/AGENTS.md explaining the codebase structure. For a project growing this fast (36 open PRs at the time of writing), onboarding new contributors could be smoother.
Conclusions: The Most Practical Prepper Project on GitHub
Project N.O.M.A.D. is one of those rare projects where the value proposition is immediately obvious, and the execution is surprisingly solid. It's not trying to be clever - it's trying to be useful. It takes a bunch of excellent open-source tools (Kiwix, Ollama, Kolibri, ProtoMaps, CyberChef), wraps them in a clean management layer, and makes the whole thing installable in two commands.
The architecture is pragmatic: Docker orchestration for modularity, TypeScript for the management layer, shell scripts for installation, and MySQL for state. No Kubernetes, no microservice mesh, no serverless functions. Just containers doing their jobs, managed by a straightforward web UI. For a project targeting people who might need to maintain this thing without internet access, that simplicity is a feature.
What makes it interesting beyond the survivalist use case is the implicit argument: not all useful computing needs to happen in the cloud. Local-first, offline-capable, GPU-accelerated knowledge servers are a legitimate category - for education in underserved areas, for privacy-conscious self-hosters, for research stations, for anyone who believes knowledge infrastructure should be as resilient as the electrical grid (or more so).
Chris Sherwood and the growing NOMAD community are building something that 13,000+ people have already decided is worth staring. Given the pace of releases (52 and counting) and the quality of recent improvements (self-contained Docker images, security hardening, better storage reporting), this project has momentum.
A well-deserved GitHub star from me 😉

PS: Yes, I'm aware that writing "knowledge infrastructure should be as resilient as the electrical grid" hits differently depending on which country you're reading this from. That's kind of the point.
PS2: For readers interested in the broader "local-first" and "offline-first" movement - this is a space worth watching. The convergence of capable small LLMs, vector databases, and containerized tool ecosystems means projects like NOMAD are only going to get more powerful. And unlike the $700 doomboxes, they'll stay free.
Links:
- Repository: github.com/Crosstalk-Solutions/project-nomad
- Website: projectnomad.us
- Discord: Crosstalk Solutions Community
- Hardware Guide: projectnomad.us/hardware




