✨ Just In Case
Resilience when the internet goes dark. An offline emergency-knowledge search app that keeps preparedness, austere medicine, engineering, and survival references available with zero network connection.
Install & availability
| Hub App Store | Search Just In Case → Install |
| Web UI port | 8080 |
| Architecture | linux/amd64 |
| Default Model | Google Gemma 4 E4B Mobile (Q4_0) + Gemini Embedding 2 (EmbeddingGemma) |
| Curated Catalog | 115 verified sources + BitTorrent ZIM & video archives |
Zero-network operation. Once models and documents are provisioned to the jic-sources and jic-data volumes, Just In Case operates with complete independence from external networks, APIs, or cloud infrastructure.
Overview
Just In Case is a locally-hosted offline emergency-knowledge search appliance. It bundles a verified manifest of 115 curated preparedness sources — military field manuals, austere medicine guides, food preservation techniques, water/power engineering handbooks, emergency communications protocols, and civil resilience documents — and makes them searchable in natural language with source-grounded citations.
It is powered by llama.cpp for in-process LLM inference and embeddings, MuPDF for native document text extraction, and SQLite with sqlite-vec and FTS5 for Reciprocal Rank Fusion (RRF) hybrid search.
Content Library & Tiered Profiles
Content is acquired using the built-in content fetcher (fetch-source-data.sh) supporting tiered download profiles:
| Profile | Footprint | Content Scope | Command |
|---|---|---|---|
core (default) | ~350 MB | 115 curated emergency PDFs and TXTs across all 9 primary functional categories. | ./helper-scripts/fetch-source-data.sh --profile core |
emergency-zims | ~20 GB | Kiwix .zim archives: MDWiki, Ready.gov, iFixit Repair Guides, Wikipedia Medicine, MedlinePlus, FAS Tactical Medicine. | ./helper-scripts/fetch-source-data.sh --profile emergency-zims |
full-zims | ~240 GB | Full-scale encyclopedias: English Wikipedia Maxi (110 GB), Project Gutenberg (77 GB / 70k books), WikiHow Illustrated (51 GB), TED Talks. | ./helper-scripts/fetch-source-data.sh --profile full-zims |
kalite | ~40 GB | KA-Lite consolidated offline educational library (15,414 instructional MP4 videos and thumbnails). | ./helper-scripts/fetch-source-data.sh --profile kalite |
BitTorrent & Magnet Distribution
For multi-gigabyte corpora, JIC includes a zero-dependency BitTorrent creator (helper-scripts/create-torrent.py) that can package arbitrary local folders into .torrent files and magnet URIs with public tracker fallbacks.
Categorization & Knowledge Areas
The 115 curated documents cover 9 core domains:
100_Survival: FEMA disaster checklists, US Army Survival FM 21-76, Map Reading FM 3-25.26, Kearney Nuclear War Survival Skills, FM 5-103 Survivability & Fortifications, FEMA CERT manual.200_Medical: Hesperian Where There Is No Doctor / Dentist / Women, Emergency War Surgery (5th Ed), Austere Medicine, Special Operations Forces Medical Handbook (ST 31-91B), Emergency Childbirth.300_Food: USDA Complete Guide to Home Canning, Peace Corps ICE agricultural series (Field Crops, Soils, Grain Storage, Animal Traction, Fish Pond Culture, Beekeeping).400_Engineering: NREL Solar Resource, VITA Village Technology, Gravity-Flow Water Systems, SODIS, Army TMs (Hand Tools, Welding, Machine Tools, Hydraulics, Electrical, Plumbing FM 5-420, Roads FM 5-430, Generators).500_Comms: ARRL Emergency Comms, CISA NIFOG v2.02, CISA AUXFOG, FCC Part 97 Amateur Radio, FM 24-18 Tactical Radio, FM 24-19 Radio Operator’s Handbook.600_Education: OpenStax Elementary Algebra, Anatomy & Physiology 2e, College Physics 2e, Chemistry 2e.700_Social: Universal Declaration of Human Rights, US Constitution, Federalist Papers, King James Bible.800_Software: Think Python 2e, Think OS, Eloquent JavaScript 3e, Pro Git 2e.900_Transport: TM 9-8000 Automotive Vehicles, FM 21-305 Wheeled Vehicle Driver, FM 20-22 Vehicle Recovery, NAVEDTRA 14050 Construction Mechanic, USCG Seamanship & Navigation.
Architecture
Setup & Quickstart
Fetch Models
Download the default GGUF models (~2.3 GB total):
./helper-scripts/fetch-models.shLaunch Container Stack
Start the server and background ingestion watcher:
docker compose up --build -dPopulate Knowledge Library
Fetch the default curated emergency catalog:
docker compose --profile fetch run --rm content-fetchVerify and Query
Open http://localhost:8080 or execute an API query:
curl -s -X POST http://localhost:8080/query \
-H "Content-Type: application/json" \
-d '{"query": "How do I purify surface water with chlorine bleach?"}'