Help and answers

Start at the top if you are new. The further down the page you go, the more technical it gets, and none of it is needed to use Outpost.

In plain words

Outpost is a free program that turns a computer you own into a small library for your home. You choose what it keeps: Wikipedia, medical guides, repair manuals, school lessons, street maps. It downloads them once and stores them on that computer.

From then on, any phone, tablet or laptop on your Wi-Fi can read and search all of it in a web browser, whether or not the internet is working. If you want, an AI assistant answers questions using that same library and shows you where each answer came from.

People use it to be ready for storms and outages, in cabins, boats and RVs, in classrooms with a slow connection, and simply to look things up without being tracked. Setting it up takes about ten minutes.

Common questions

Do I need to be good with computers?
No. You paste one line into an app called Terminal, once. After that everything is an ordinary web page: you tick what you want and watch it download. The install guide writes out every step.
Does it need the internet?
Only to download. Once your content is on the Outpost computer, everything works with no connection at all.
What does it cost?
Nothing. You bring the computer; Outpost and the content are free.
Which computers can run it?
Macs from about 2017 on (macOS 13 or later, Intel or Apple Silicon), and PCs or Raspberry Pis running 64-bit Linux. It cannot be installed on Windows yet; the install guide explains the options for a Windows PC.
Which devices can read it?
Anything with a web browser on the same Wi-Fi: iPhones, Android phones, tablets, Windows PCs, Macs, Chromebooks. Nothing has to be installed on them.
How much disk space do I need?
From a few gigabytes for the essentials to several terabytes for everything. The planner adds it up as you choose and suggests a drive size.
Can I reach it when I am away from home?
Not by itself: it answers on your own network only, on purpose. If you want it from outside, use a private VPN such as Tailscale or WireGuard. Do not open its ports to the internet.
Can I use a Raspberry Pi?
Yes, a Pi 4 or 5 with a 64-bit system. Put the content on an SSD rather than a memory card. The AI assistant is slow on a Pi; the library and maps are fine.
Is the AI reliable?
No AI model is. Outpost's assistant searches your library first and shows what it used. Read the sources, especially for medicine, and be wary of any answer that comes without them.
Can I add my own files?
Not yet. Outpost installs content only from its signed catalog, so that every file can be checked.
How is this different from Kiwix?
Kiwix makes the libraries and the reader that Outpost uses. Outpost adds the catalog with three sizes per subject, the setup pages, maps, the assistant, checked downloads that run in the background, and one dashboard for the whole household.

Who can use it

To begin with, anyone on your Wi-Fi can read the library, search, look at maps and ask the assistant. Only you, the owner, can change what is installed or how it is set up. In Settings you can ask for the password for everything, or keep reading open and close only the assistant.

Outpost uses plain HTTP inside your home network, as most home devices do. That is fine at home and not fine on the open internet, which is why its ports should never be forwarded there.

How it works inside

Outpost is one program, outpost, that the system starts at boot. It serves the dashboard on port 8080 and the library on port 8081, and it looks after three helpers:

  • kiwix-serve reads ZIM archives, the compressed format Kiwix uses for Wikipedia and hundreds of other sites, and provides the full-text search.
  • pmtiles cuts map regions out of the Protomaps planet build, which is made from OpenStreetMap, so you download only the places you chose.
  • Ollama, if you set up the assistant, runs AI models on the machine's processor or graphics card.

What you can install comes from the content catalog, a signed list that names each file, its exact size and its SHA-256. Outpost fetches a newer catalog from this website when it is online, checks the signature, and offers newer editions of what you have. A copy of the catalog is built into the program, so an Outpost that has never been online can still show the setup pages.

Content lives in /var/lib/outpost unless you chose another folder: archives under content/zim, maps under content/maps. AI models live in Ollama's own folder. On a Mac the content folder is left out of Time Machine backups, since everything in it can be downloaded again.

Security

Signed releases and catalog
Release checksums and the catalog are signed with an Ed25519 key in OpenSSH's signature format. The installer verifies releases with ssh-keygen -Y verify; Outpost verifies catalogs itself and never accepts an older catalog than the one it has. The key's fingerprint is SHA256:FPLD+xaDRLa1ieZmEeYFzxkjCl2T2YliTvXER6TK84I.
Verified downloads
Every archive must match the SHA-256 published by Kiwix before it is used. Redirects to plain HTTP are refused. kiwix-tools and pmtiles are pinned by checksum in the installer, separately for each system and processor.
Claiming a new Outpost
A fresh install accepts an owner's password only together with the setup code printed on the machine, so nobody else on the network can claim it first. On a Mac the installer also hands the code to the browser of the person sitting at that Mac, in the part of the address after the “#”, which a browser keeps to itself and never sends anywhere.
Passwords and sessions
The password is stored as an argon2id hash. Sessions use random 256-bit cookies that scripts cannot read, stored only as hashes. Every change requires a per-session token and a same-origin request. Sign-in attempts are limited per client, with an overall budget against guessing from many addresses.
Archives kept apart from the dashboard
The library runs on its own port, which browsers treat as a separate origin, so scripts inside an archive cannot read the dashboard. The dashboard sends a strict content security policy and refuses to be framed.
Map data
Map regions are cut on demand from the Protomaps planet build named in the signed catalog, over HTTPS. Unlike archives, extracted regions have no published checksum, so their integrity rests on that HTTPS connection.
Other accounts on the same machine
kiwix-serve listens on a loopback port of the machine itself. In private mode, people with their own login on that machine can still read the library through it; the setting protects the network, not other local users.
A service with few rights
Outpost never runs as an administrator. On Linux it has its own account under systemd, with a read-only system, no new privileges, no capabilities and write access only to its content folder. On a Mac it has its own hidden account under launchd, which owns its content folder and its log and nothing else; macOS offers no equivalent of the further systemd restrictions.
The command you run as an administrator
The outpost command lives in /opt/outpost/cli, which only an administrator can change, and the program files are owned the same way. A short name in /usr/local/bin is added only when that folder is equally protected. On many Macs it is not, so this guide always writes the command out in full.

Found a problem? Please report it privately to the maintainers rather than in public.

Commands

For the Terminal on the Outpost computer.

sudo /opt/outpost/cli/outpost setup-code    # show the one-time setup code
sudo /opt/outpost/cli/outpost reset-admin   # forget the password, show a new code
/opt/outpost/cli/outpost version            # which release is installed
sudo nano /etc/outpost/outpost.env          # ports and content folder

# Linux
sudo systemctl restart outpost
journalctl -u outpost -f                    # follow the logs

# Mac
sudo launchctl kickstart -k system/org.outpost-offline.node
tail -f /var/log/outpost.log                # follow the logs

Licences and credits

Archives keep their publishers' licences, listed for each item in the catalog; several (iFixit, TED, Khan Academy) allow only non-commercial use. Map data © OpenStreetMap contributors, available under the Open Database Licence; tiles by Protomaps. Fonts: Noto Sans on the maps, Archivo and Martian Mono in the dashboard (all SIL Open Font Licence). kiwix-tools is GPL-3.0 software by the Kiwix project; pmtiles is BSD-3-Clause; Ollama is MIT. AI models carry their makers' licences.