What if the internet goes down? Project NOMAD keeps on your computer (Linux, or Windows via WSL2) a library, courses, maps and local AI that work offline.

What if the internet goes down, or you are somewhere it never reaches? Project NOMAD is a knowledge and education server that runs on your own computer and works without internet. You install it on Linux (Debian or Ubuntu) and open it in the browser: offline Wikipedia and ebooks, Khan Academy courses, maps, a local AI chat, notes and data tools. You only need internet to install it and to download the content you want to keep. It is an open project by Crosstalk Solutions (Apache 2.0 license).
NOMAD is a dashboard (the “Command Center”) that installs and looks after several open tools for you, all reached from the browser.
Wikipedia, medical references, guides and ebooks, with Kiwix.
Khan Academy courses with progress tracking and multiple users, with Kolibri.
Regional maps you download and browse without a connection, with ProtoMaps.
An AI chat running on your own device (Ollama), with document upload and semantic search (Qdrant).
Markdown notes (FlatNotes) and data tools such as encryption and encoding (CyberChef).
The “Supply Depot”: a one-click app catalog plus the option to run your own Docker containers.
This guide is an English adaptation of Project NOMAD, by Crosstalk Solutions (Apache 2.0 license). Official site: projectnomad.us. The code and trademarks belong to their authors; this fork exists for study and outreach only.
You do not need this part to understand what is above.
NOMAD is a management UI and an API that organize, through Docker, a set of tools and content. It handles installation, configuration and updates.
NOMAD itself is light; what you choose to install sets the size. The AI is what weighs the most.
2 GHz dual-core processor, 4 GB of RAM (the whole stack without AI runs in under 1 GB) and at least 5 GB free (10 GB to be comfortable). Debian-based OS (Ubuntu 26.04 LTS recommended; 24.04 LTS and Debian 12 also supported).
Ryzen 7 or Core i7, 32 GB of RAM, an NVIDIA RTX 3060 or equivalent graphics card and 250 GB free, preferably on SSD. The AI assistant alone brings the install to about 25 GB.
Administrator permission (sudo) to install and a stable internet connection during installation. On Windows, the path is WSL2 (a Linux inside Windows), maintained by the community: WSL2 install guide. How much space each content takes is in the official FAQ.
The commands below come from the project's official README.
Open a terminal on Linux and paste the block below (it downloads and runs the installer; it needs sudo). Step by step with Ubuntu: install guide.
sudo apt-get update && \ sudo apt-get install -y curl && \ curl -fsSL https://raw.githubusercontent.com/Crosstalk-Solutions/project-nomad/refs/heads/main/install/install_nomad.sh \ -o install_nomad.sh && \ sudo bash install_nomad.sh
When the install ends, open it on the same computer (localhost) or, from another device on your network, by the IP address of the computer where you installed it.
http://localhost:8080 # or http://DEVICE_IP:8080
The first time, a wizard guides the setup and suggests ready-made content collections. Choose the collections to download (Wikipedia, courses, maps). The AI is a separate app you add afterwards.
By default the installer puts Ollama on the same device. To use another one, enter its address in the AI assistant settings (the NOMAD AI screen, not the setup wizard). On the Ollama of that other device, set this environment variable when starting it (setting up that other server is on you):
OLLAMA_HOST=0.0.0.0
Once installed, there are maintenance scripts in the project folder.
sudo bash /opt/project-nomad/start_nomad.sh # starts the containers sudo bash /opt/project-nomad/stop_nomad.sh # stops the containers sudo bash /opt/project-nomad/update_nomad.sh # updates the Command Center
What the project says about it:
Only needed for installation and when you yourself download new content.
NOMAD has no authentication: it was designed to be open. If you connect the device to a local network, control access at the network level and do not expose it directly to the internet.