mirror of
https://github.com/Crosstalk-Solutions/project-nomad.git
synced 2026-04-02 23:09:26 +02:00
feat(collections): add German/Austria ZIM categories, configurable base URL, and NOMAD-DATA PDF tooling
- Add Kiwix ZIM categories: Deutsch & Österreich (Wikipedia DE, Wiktionary, Wikibooks, Wikivoyage, Medizin, Klexikon, Koch-Wiki, iFixit DE), Militär & Taktik, Kommunikation & Sicherheit, Energie & Off-Grid - Add map collection entries for Europe and Oberösterreich (user-supplied PMTiles) - Add NOMAD_COLLECTIONS_BASE_URL and NOMAD_DATA_PATH env options; collection specs load from configurable base URL - Add install/nomad-data-pdf-urls.txt manifest and download-nomad-data-pdfs.sh for BBK, DGUV, FEMA, WHO, Zivilschutz AT, and related PDFs - Add install/NOMAD-DATA-DOWNLOADS.md with usage and Austria PMTiles extract notes - Update release notes (Unreleased) Made-with: Cursor
This commit is contained in:
parent
8bb8b414f8
commit
6db599ecc3
|
|
@ -22,12 +22,20 @@ import type {
|
||||||
SpecTier,
|
SpecTier,
|
||||||
} from '../../types/collections.js'
|
} from '../../types/collections.js'
|
||||||
|
|
||||||
const SPEC_URLS: Record<ManifestType, string> = {
|
const DEFAULT_COLLECTIONS_BASE = 'https://raw.githubusercontent.com/Crosstalk-Solutions/project-nomad/refs/heads/main'
|
||||||
zim_categories: 'https://raw.githubusercontent.com/Crosstalk-Solutions/project-nomad/refs/heads/main/collections/kiwix-categories.json',
|
|
||||||
maps: 'https://github.com/Crosstalk-Solutions/project-nomad/raw/refs/heads/main/collections/maps.json',
|
function getSpecUrls(): Record<ManifestType, string> {
|
||||||
wikipedia: 'https://raw.githubusercontent.com/Crosstalk-Solutions/project-nomad/refs/heads/main/collections/wikipedia.json',
|
const base = process.env.NOMAD_COLLECTIONS_BASE_URL || DEFAULT_COLLECTIONS_BASE
|
||||||
|
const baseNorm = base.replace(/\/$/, '')
|
||||||
|
return {
|
||||||
|
zim_categories: `${baseNorm}/collections/kiwix-categories.json`,
|
||||||
|
maps: `${baseNorm}/collections/maps.json`,
|
||||||
|
wikipedia: `${baseNorm}/collections/wikipedia.json`,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const SPEC_URLS = getSpecUrls()
|
||||||
|
|
||||||
const VALIDATORS: Record<ManifestType, any> = {
|
const VALIDATORS: Record<ManifestType, any> = {
|
||||||
zim_categories: zimCategoriesSpecSchema,
|
zim_categories: zimCategoriesSpecSchema,
|
||||||
maps: mapsSpecSchema,
|
maps: mapsSpecSchema,
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,16 @@
|
||||||
# Release Notes
|
# Release Notes
|
||||||
|
|
||||||
|
## Unreleased
|
||||||
|
|
||||||
|
### Features
|
||||||
|
- **Collections**: Added Kiwix ZIM categories for German/Austria (DACH): "Deutsch & Österreich" with Wikipedia DE, Wiktionary, Wikibooks, Wikivoyage, Wikipedia Medizin, Klexikon, Koch-Wiki, and iFixit DE; "Militär & Taktik" (US Army Publications, Gutenberg Military Science, FAS Military Medicine); "Kommunikation & Sicherheit" (Ham Radio Q&A, Security Q&A); "Energie & Off-Grid" (Low Tech Magazine, 100 Rabbits)
|
||||||
|
- **Collections**: Added map collection entries for Europe and Oberösterreich (Steyr, Garsten) with placeholder for user-supplied PMTiles
|
||||||
|
- **Settings**: Optional `NOMAD_COLLECTIONS_BASE_URL` to load collection specs (kiwix-categories, maps, wikipedia) from a fork or custom URL instead of the default GitHub raw URL
|
||||||
|
- **Install**: Added NOMAD-DATA PDF/download manifest (`install/nomad-data-pdf-urls.txt`) and script (`install/download-nomad-data-pdfs.sh`) for automated download of BBK, DGUV, FEMA, WHO, Zivilschutz AT, and other public-domain/preparedness PDFs into a structured folder
|
||||||
|
|
||||||
|
### Improvements
|
||||||
|
- **Docs**: Added `install/NOMAD-DATA-DOWNLOADS.md` with instructions for collections base URL, PDF script usage, RAG integration, and optional Austria PMTiles extract
|
||||||
|
|
||||||
## Version 1.29.0 - March 11, 2026
|
## Version 1.29.0 - March 11, 2026
|
||||||
|
|
||||||
### Features
|
### Features
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,12 @@ export default await Env.create(new URL('../', import.meta.url), {
|
||||||
*/
|
*/
|
||||||
NOMAD_STORAGE_PATH: Env.schema.string.optional(),
|
NOMAD_STORAGE_PATH: Env.schema.string.optional(),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Optional path to NOMAD-DATA folder (e.g. /storage/nomad_data).
|
||||||
|
* When set, the RAG sync will also scan 10_EIGENE_PDFS_RAG for PDFs, text, and images to embed.
|
||||||
|
*/
|
||||||
|
NOMAD_DATA_PATH: Env.schema.string.optional(),
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|----------------------------------------------------------
|
|----------------------------------------------------------
|
||||||
| Variables for configuring session package
|
| Variables for configuring session package
|
||||||
|
|
@ -60,4 +66,12 @@ export default await Env.create(new URL('../', import.meta.url), {
|
||||||
|----------------------------------------------------------
|
|----------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
NOMAD_API_URL: Env.schema.string.optional(),
|
NOMAD_API_URL: Env.schema.string.optional(),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Optional base URL for collection specs (kiwix-categories, maps, wikipedia).
|
||||||
|
* If set, replaces the default GitHub raw URL. Example for your fork:
|
||||||
|
* NOMAD_COLLECTIONS_BASE_URL=https://raw.githubusercontent.com/YOUR_USER/project-nomad/refs/heads/main
|
||||||
|
* Then the app fetches .../collections/kiwix-categories.json etc. So new ZIM categories go live after push.
|
||||||
|
*/
|
||||||
|
NOMAD_COLLECTIONS_BASE_URL: Env.schema.string.optional(),
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -132,7 +132,7 @@
|
||||||
{
|
{
|
||||||
"name": "Standard",
|
"name": "Standard",
|
||||||
"slug": "survival-standard",
|
"slug": "survival-standard",
|
||||||
"description": "Bug-out strategies and urban survival techniques. Includes everything in Essential.",
|
"description": "Bug-out strategies, urban survival, and Survivor Library. Includes everything in Essential.",
|
||||||
"includesTier": "survival-essential",
|
"includesTier": "survival-essential",
|
||||||
"resources": [
|
"resources": [
|
||||||
{
|
{
|
||||||
|
|
@ -150,13 +150,21 @@
|
||||||
"description": "Comprehensive urban emergency preparedness video series",
|
"description": "Comprehensive urban emergency preparedness video series",
|
||||||
"url": "https://download.kiwix.org/zim/videos/urban-prepper_en_all_2025-11.zim",
|
"url": "https://download.kiwix.org/zim/videos/urban-prepper_en_all_2025-11.zim",
|
||||||
"size_mb": 2240
|
"size_mb": 2240
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "survivorlibrary.com_en_all",
|
||||||
|
"version": "2026-03",
|
||||||
|
"title": "Survivor Library",
|
||||||
|
"description": "Umfassende Offline-Bibliothek für Selbstversorgung, alte Handwerke, Pre-Industrial-Techniken",
|
||||||
|
"url": "https://download.kiwix.org/zim/zimit/survivorlibrary.com_en_all_2026-03.zim",
|
||||||
|
"size_mb": 2700
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Comprehensive",
|
"name": "Comprehensive",
|
||||||
"slug": "survival-comprehensive",
|
"slug": "survival-comprehensive",
|
||||||
"description": "Complete prepper library with food storage strategies and classic military strategy. Includes everything in Standard.",
|
"description": "FEMA Ready.gov, CD3WD und Food Prepping. Includes everything in Standard.",
|
||||||
"includesTier": "survival-standard",
|
"includesTier": "survival-standard",
|
||||||
"resources": [
|
"resources": [
|
||||||
{
|
{
|
||||||
|
|
@ -168,12 +176,20 @@
|
||||||
"size_mb": 2160
|
"size_mb": 2160
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "gutenberg_en_lcc-u",
|
"id": "www.ready.gov_en",
|
||||||
"version": "2026-03",
|
"version": "2024-12",
|
||||||
"title": "Project Gutenberg: Military Science",
|
"title": "Ready.gov (FEMA)",
|
||||||
"description": "Classic military strategy, tactics, and field manuals",
|
"description": "FEMA emergency preparedness komplett offline",
|
||||||
"url": "https://download.kiwix.org/zim/gutenberg/gutenberg_en_lcc-u_2026-03.zim",
|
"url": "https://download.kiwix.org/zim/zimit/www.ready.gov_en_2024-12.zim",
|
||||||
"size_mb": 1200
|
"size_mb": 2300
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "cd3wdproject.org_en_all",
|
||||||
|
"version": "2025-11",
|
||||||
|
"title": "CD3WD",
|
||||||
|
"description": "Off-Grid-Technologien, Wasserversorgung, Lebensmittelverarbeitung für Krisengebiete",
|
||||||
|
"url": "https://download.kiwix.org/zim/zimit/cd3wdproject.org_en_all_2025-11.zim",
|
||||||
|
"size_mb": 554
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -614,6 +630,250 @@
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Deutsch & Österreich",
|
||||||
|
"slug": "german",
|
||||||
|
"icon": "IconLanguage",
|
||||||
|
"description": "Deutschsprachige Offline-Inhalte: Wikipedia DE, Medizin, Wikibooks, Wiktionary, Wikivoyage für Österreich und DACH.",
|
||||||
|
"language": "de",
|
||||||
|
"tiers": [
|
||||||
|
{
|
||||||
|
"name": "Essential",
|
||||||
|
"slug": "german-essential",
|
||||||
|
"description": "Top Wikipedia-Artikel und deutsches Wörterbuch. Leichtgewichtig für den Einstieg.",
|
||||||
|
"recommended": true,
|
||||||
|
"resources": [
|
||||||
|
{
|
||||||
|
"id": "wikipedia_de_top_mini",
|
||||||
|
"version": "2026-01",
|
||||||
|
"title": "Wikipedia DE Top",
|
||||||
|
"description": "Die wichtigsten deutschsprachigen Wikipedia-Artikel",
|
||||||
|
"url": "https://download.kiwix.org/zim/wikipedia/wikipedia_de_top_mini_2026-01.zim",
|
||||||
|
"size_mb": 122
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "wiktionary_de_all_nopic",
|
||||||
|
"version": "2026-01",
|
||||||
|
"title": "Wiktionary DE",
|
||||||
|
"description": "Deutsches Wörterbuch offline",
|
||||||
|
"url": "https://download.kiwix.org/zim/wiktionary/wiktionary_de_all_nopic_2026-01.zim",
|
||||||
|
"size_mb": 1200
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Standard",
|
||||||
|
"slug": "german-standard",
|
||||||
|
"description": "Medizin und Lehrbücher auf Deutsch. Inkl. Essential.",
|
||||||
|
"includesTier": "german-essential",
|
||||||
|
"resources": [
|
||||||
|
{
|
||||||
|
"id": "wikipedia_de_medicine_maxi",
|
||||||
|
"version": "2026-01",
|
||||||
|
"title": "Wikipedia Medizin DE",
|
||||||
|
"description": "Medizin-Artikel der deutschen Wikipedia mit Bildern",
|
||||||
|
"url": "https://download.kiwix.org/zim/wikipedia/wikipedia_de_medicine_maxi_2026-01.zim",
|
||||||
|
"size_mb": 433
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "wikibooks_de_all_nopic",
|
||||||
|
"version": "2026-01",
|
||||||
|
"title": "Wikibooks DE",
|
||||||
|
"description": "Offene Lehrbücher: Garten, Reparatur, Haustechnik, Naturwissenschaften",
|
||||||
|
"url": "https://download.kiwix.org/zim/wikibooks/wikibooks_de_all_nopic_2026-01.zim",
|
||||||
|
"size_mb": 2700
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "klexikon_de_all_maxi",
|
||||||
|
"version": "2026-02",
|
||||||
|
"title": "Klexikon DE",
|
||||||
|
"description": "Kinder-Enzyklopädie für einfache Erklärungen",
|
||||||
|
"url": "https://download.kiwix.org/zim/other/klexikon_de_all_maxi_2026-02.zim",
|
||||||
|
"size_mb": 138
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "kochwiki.org_de_all_maxi",
|
||||||
|
"version": "2026-01",
|
||||||
|
"title": "Koch-Wiki DE",
|
||||||
|
"description": "Kochrezepte und Küchenwissen offline",
|
||||||
|
"url": "https://download.kiwix.org/zim/other/kochwiki.org_de_all_maxi_2026-01.zim",
|
||||||
|
"size_mb": 66
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Comprehensive",
|
||||||
|
"slug": "german-comprehensive",
|
||||||
|
"description": "Komplette deutsche Wikipedia und Wikivoyage. Inkl. Standard.",
|
||||||
|
"includesTier": "german-standard",
|
||||||
|
"resources": [
|
||||||
|
{
|
||||||
|
"id": "wikipedia_de_all_nopic",
|
||||||
|
"version": "2026-01",
|
||||||
|
"title": "Wikipedia DE komplett",
|
||||||
|
"description": "Gesamte deutschsprachige Wikipedia ohne Bilder",
|
||||||
|
"url": "https://download.kiwix.org/zim/wikipedia/wikipedia_de_all_nopic_2026-01.zim",
|
||||||
|
"size_mb": 14000
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "wikivoyage_de_all_maxi",
|
||||||
|
"version": "2026-01",
|
||||||
|
"title": "Wikivoyage DE",
|
||||||
|
"description": "Reise- und Geländeinfos für Österreich, Deutschland, Schweiz",
|
||||||
|
"url": "https://download.kiwix.org/zim/wikivoyage/wikivoyage_de_all_maxi_2026-01.zim",
|
||||||
|
"size_mb": 1200
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "ifixit_de_all",
|
||||||
|
"version": "2025-06",
|
||||||
|
"title": "iFixit DE",
|
||||||
|
"description": "Reparatur-Anleitungen für Geräte und DIY",
|
||||||
|
"url": "https://download.kiwix.org/zim/ifixit/ifixit_de_all_2025-06.zim",
|
||||||
|
"size_mb": 3200
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Militär & Taktik",
|
||||||
|
"slug": "military",
|
||||||
|
"icon": "IconShield",
|
||||||
|
"description": "US Army Field Manuals, Nahkampf, Unconventional Warfare, Militärmedizin und klassische Taktik.",
|
||||||
|
"language": "en",
|
||||||
|
"tiers": [
|
||||||
|
{
|
||||||
|
"name": "Essential",
|
||||||
|
"slug": "military-essential",
|
||||||
|
"description": "Alle US Army Publications: Field Manuals (FM), ATP, ADP, TC inkl. Combatives, Unconventional Warfare.",
|
||||||
|
"recommended": true,
|
||||||
|
"resources": [
|
||||||
|
{
|
||||||
|
"id": "armypubs_en_all",
|
||||||
|
"version": "2024-12",
|
||||||
|
"title": "US Army Publications",
|
||||||
|
"description": "Alle deklassifizierten Field Manuals: Nahkampf (FM 3-25.150), Guerrilla (FM 3-05.130), Survival, Infanterie, u.v.m.",
|
||||||
|
"url": "https://download.kiwix.org/zim/zimit/armypubs_en_all_2024-12.zim",
|
||||||
|
"size_mb": 7700
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Standard",
|
||||||
|
"slug": "military-standard",
|
||||||
|
"description": "Klassische Militärwissenschaft und Taktik. Inkl. Essential.",
|
||||||
|
"includesTier": "military-essential",
|
||||||
|
"resources": [
|
||||||
|
{
|
||||||
|
"id": "gutenberg_en_lcc-u",
|
||||||
|
"version": "2026-03",
|
||||||
|
"title": "Project Gutenberg: Military Science",
|
||||||
|
"description": "Klassische Texte zu Strategie, Taktik und Feldhandbüchern",
|
||||||
|
"url": "https://download.kiwix.org/zim/gutenberg/gutenberg_en_lcc-u_2026-03.zim",
|
||||||
|
"size_mb": 1200
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Comprehensive",
|
||||||
|
"slug": "military-comprehensive",
|
||||||
|
"description": "Militärmedizin als Querverweis. Inkl. Standard.",
|
||||||
|
"includesTier": "military-standard",
|
||||||
|
"resources": [
|
||||||
|
{
|
||||||
|
"id": "fas-military-medicine_en",
|
||||||
|
"version": "2025-06",
|
||||||
|
"title": "FAS Military Medicine",
|
||||||
|
"description": "Taktische und Feldmedizin-Handbücher",
|
||||||
|
"url": "https://download.kiwix.org/zim/zimit/fas-military-medicine_en_2025-06.zim",
|
||||||
|
"size_mb": 78
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Kommunikation & Sicherheit",
|
||||||
|
"slug": "communications",
|
||||||
|
"icon": "IconRadio",
|
||||||
|
"description": "Amateurfunk (Ham Radio), Baofeng UV-5R, ATAK/CivTAK (Android Team Awareness Kit), OPSEC und IT-Sicherheit für Notfallkommunikation. ATAK/CivTAK- und Baofeng-Anleitungen (kein ZIM) in NOMAD-DATA/07_FUNK oder 10_EIGENE_PDFS_RAG ablegen.",
|
||||||
|
"language": "en",
|
||||||
|
"tiers": [
|
||||||
|
{
|
||||||
|
"name": "Essential",
|
||||||
|
"slug": "communications-essential",
|
||||||
|
"description": "Ham Radio Q&A: Frequenzen, Antennen, Lizenzen, Baofeng UV-5R-Betrieb. Meshtastic/LoRa, ATAK/CivTAK und Baofeng UV-5R-Anleitungen (tak.gov, Miklor, CHIRP) als PDF in NOMAD-DATA ablegen.",
|
||||||
|
"recommended": true,
|
||||||
|
"resources": [
|
||||||
|
{
|
||||||
|
"id": "ham.stackexchange.com_en_all",
|
||||||
|
"version": "2026-02",
|
||||||
|
"title": "Ham Radio Q&A",
|
||||||
|
"description": "Stack Exchange zu Amateurfunk, Antennen, Ausbreitung, Betrieb",
|
||||||
|
"url": "https://download.kiwix.org/zim/stack_exchange/ham.stackexchange.com_en_all_2026-02.zim",
|
||||||
|
"size_mb": 72
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Standard",
|
||||||
|
"slug": "communications-standard",
|
||||||
|
"description": "IT-Sicherheit und OPSEC. Inkl. Essential.",
|
||||||
|
"includesTier": "communications-essential",
|
||||||
|
"resources": [
|
||||||
|
{
|
||||||
|
"id": "security.stackexchange.com_en_all",
|
||||||
|
"version": "2026-02",
|
||||||
|
"title": "Security Q&A",
|
||||||
|
"description": "Verschlüsselung, Anonymität, sichere Kommunikation",
|
||||||
|
"url": "https://download.kiwix.org/zim/stack_exchange/security.stackexchange.com_en_all_2026-02.zim",
|
||||||
|
"size_mb": 420
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Energie & Off-Grid",
|
||||||
|
"slug": "energy",
|
||||||
|
"icon": "IconBolt",
|
||||||
|
"description": "Solar, Wärmepumpen, Wasserversorgung und nachhaltige Technik für autarke Versorgung.",
|
||||||
|
"language": "en",
|
||||||
|
"tiers": [
|
||||||
|
{
|
||||||
|
"name": "Essential",
|
||||||
|
"slug": "energy-essential",
|
||||||
|
"description": "Low Tech Magazine: Solar, Wärmepumpen, Wasser, nachhaltige Haustechnik.",
|
||||||
|
"recommended": true,
|
||||||
|
"resources": [
|
||||||
|
{
|
||||||
|
"id": "solar.lowtechmagazine.com_mul_all",
|
||||||
|
"version": "2025-01",
|
||||||
|
"title": "Low Tech Magazine (Solar)",
|
||||||
|
"description": "Solar, Wärmepumpen, Wasserversorgung, Low-Tech-Lösungen",
|
||||||
|
"url": "https://download.kiwix.org/zim/zimit/solar.lowtechmagazine.com_mul_all_2025-01.zim",
|
||||||
|
"size_mb": 668
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Standard",
|
||||||
|
"slug": "energy-standard",
|
||||||
|
"description": "Off-Grid-Werkzeuge und Selbstversorgung. Inkl. Essential.",
|
||||||
|
"includesTier": "energy-essential",
|
||||||
|
"resources": [
|
||||||
|
{
|
||||||
|
"id": "100r.co_en_all",
|
||||||
|
"version": "2026-02",
|
||||||
|
"title": "100 Rabbits",
|
||||||
|
"description": "Off-Grid-Leben, Energie, Werkzeuge, Selbstversorgung",
|
||||||
|
"url": "https://download.kiwix.org/zim/zimit/100r.co_en_all_2026-02.zim",
|
||||||
|
"size_mb": 160
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -481,6 +481,40 @@
|
||||||
"size_mb": 400
|
"size_mb": 400
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Europe",
|
||||||
|
"slug": "europe",
|
||||||
|
"description": "Offline-Karte für ganz Europa (Protomaps-Basemaps). Wanderwege, POIs und Wasserquellen. Kein Direkt-Download – Builds: https://maps.protomaps.com/builds | Anleitung: /docs/offline-karten-europa",
|
||||||
|
"icon": "IconMap",
|
||||||
|
"language": "de",
|
||||||
|
"resources": [
|
||||||
|
{
|
||||||
|
"id": "europe",
|
||||||
|
"version": "2025-03",
|
||||||
|
"title": "Europa",
|
||||||
|
"description": "Ganz Europa. Bitte per „Eigenes Kartenfile herunterladen“ mit eigener URL hinzufügen oder Datei manuell in storage/maps/pmtiles/ ablegen.",
|
||||||
|
"url": null,
|
||||||
|
"size_mb": 5000
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Oberösterreich (Steyr, Garsten)",
|
||||||
|
"slug": "oberoesterreich",
|
||||||
|
"description": "Hohe Auflösung für Oberösterreich, Steyr und Garsten. Wanderwege, POIs, Wasserquellen. Kein Direkt-Download – Builds: https://maps.protomaps.com/builds | Anleitung: /docs/offline-karten-europa",
|
||||||
|
"icon": "IconMap",
|
||||||
|
"language": "de",
|
||||||
|
"resources": [
|
||||||
|
{
|
||||||
|
"id": "oberoesterreich",
|
||||||
|
"version": "2025-03",
|
||||||
|
"title": "Oberösterreich (Steyr, Garsten)",
|
||||||
|
"description": "Hohe Auflösung. Bitte per „Eigenes Kartenfile herunterladen“ mit eigener URL hinzufügen oder Datei manuell in storage/maps/pmtiles/ ablegen.",
|
||||||
|
"url": null,
|
||||||
|
"size_mb": 500
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
79
install/NOMAD-DATA-DOWNLOADS.md
Normal file
79
install/NOMAD-DATA-DOWNLOADS.md
Normal file
|
|
@ -0,0 +1,79 @@
|
||||||
|
# NOMAD-DATA PDFs & Docs herunterladen
|
||||||
|
|
||||||
|
Dieses Skript lädt alle in `nomad-data-pdf-urls.txt` eingetragenen PDFs und Ressourcen in eine NOMAD-DATA-Ordnerstruktur.
|
||||||
|
|
||||||
|
## 1. Live: Neue ZIM-Kategorien
|
||||||
|
|
||||||
|
Die neuen ZIM-Kategorien (Deutsch & Österreich, Militär & Taktik, Kommunikation, Energie & Off-Grid) sind in `collections/kiwix-categories.json` eingetragen.
|
||||||
|
|
||||||
|
- **Wenn du das offizielle Repo (Crosstalk-Solutions) nutzt:** Nach Push auf `main` lädt die App die neue Spec von GitHub – in der Oberfläche unter **Einstellungen → Content Explorer** „Collections aktualisieren“ o.ä., dann erscheinen die neuen Kategorien.
|
||||||
|
- **Eigenes Fork:** Setze die Umgebungsvariable
|
||||||
|
`NOMAD_COLLECTIONS_BASE_URL=https://raw.githubusercontent.com/DEIN_USER/project-nomad/refs/heads/main`
|
||||||
|
(z.B. in `compose.yml` oder `.env`), dann bezieht die App die Specs von deinem Fork.
|
||||||
|
|
||||||
|
## 2. PDFs/Docs automatisch laden
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Im Projekt-Root (oder mit Zielordner)
|
||||||
|
./install/download-nomad-data-pdfs.sh
|
||||||
|
|
||||||
|
# Oder mit Zielordner (z.B. auf dem Server)
|
||||||
|
./install/download-nomad-data-pdfs.sh /opt/project-nomad/storage/nomad_data
|
||||||
|
|
||||||
|
# Oder mit NOMAD_DATA_PATH
|
||||||
|
export NOMAD_DATA_PATH=/pfad/zu/NOMAD-DATA
|
||||||
|
./install/download-nomad-data-pdfs.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
Es werden u.a. geladen:
|
||||||
|
|
||||||
|
- **Österreich Zivilschutz** (Blackout-Ratgeber, Vorrat, Bundesheer)
|
||||||
|
- **FEMA / Ready.gov** (Are You Ready, CERT, Hazard Sheets, Evacuation, Shelter, Communications)
|
||||||
|
- **FEMA ICS-Formulare** (ICS 201, NIMS ICS Forms Booklet)
|
||||||
|
- **CDC** (Wasser, Food and Water Emergency)
|
||||||
|
- **WHO** (EML Medikamentenliste)
|
||||||
|
- **IFRC** (First Aid Guidelines), **WHO/ICRC** (Basic Emergency Care)
|
||||||
|
- **BLE/BZL** (Garten DE), **UBA** (Kompost), **FAO**
|
||||||
|
- **NREL** (Energie-Reports), **HUD** (Gebäude), **EPA** (Renovierung), **USDA** (Wood Handbook)
|
||||||
|
- **Energy.gov** (Fuel Storage)
|
||||||
|
- **BBK** (Ratgeber Notfallvorsorge DE), **DGUV** (Erste-Hilfe-Handbuch 204-007)
|
||||||
|
|
||||||
|
**Hinweis Server:** Wenn `/opt/project-nomad/storage/nomad_data` nicht existiert oder nicht beschreibbar ist, das Skript mit einem anderen Ziel ausführen (z.B. `./install/download-nomad-data-pdfs.sh /home/nomad/nomad_data`). Anschließend Verzeichnis mit Root anlegen und Daten verschieben:
|
||||||
|
`sudo mkdir -p /opt/project-nomad/storage/nomad_data && sudo chown nomad:nomad /opt/project-nomad/storage/nomad_data && sudo cp -a /home/nomad/nomad_data/. /opt/project-nomad/storage/nomad_data/`
|
||||||
|
|
||||||
|
## 3. RAG (Knowledge Base)
|
||||||
|
|
||||||
|
Die App indexiert nur Inhalte unter **`NOMAD_DATA_PATH/10_EIGENE_PDFS_RAG`**.
|
||||||
|
|
||||||
|
Wenn du die heruntergeladenen PDFs auch in der Knowledge Base nutzen willst:
|
||||||
|
|
||||||
|
- Entweder **Kopien/Symlinks** der gewünschten PDFs nach `NOMAD-DATA/10_EIGENE_PDFS_RAG/` legen (z.B. Unterordner `Survival`, `Funk`, `Medizin`),
|
||||||
|
- oder `NOMAD_DATA_PATH` auf deinen NOMAD-DATA-Root setzen und in der App nur diesen einen Baum nutzen; dann müsste die RAG-Logik um weitere Ordner (z.B. 04_SURVIVAL, 07_FUNK) erweitert werden.
|
||||||
|
|
||||||
|
Anschließend in der App: **Knowledge Base → Scan and Sync**.
|
||||||
|
|
||||||
|
## 4. Ohne ZIM – manuell ablegen
|
||||||
|
|
||||||
|
Diese Inhalte haben **kein** automatisches Download-Skript (keine direkten PDF-URLs oder nur Webseiten). Bitte von Hand in NOMAD-DATA speichern (z.B. als PDF-Export oder SingleFile):
|
||||||
|
|
||||||
|
| Thema | Quelle |
|
||||||
|
|-------|--------|
|
||||||
|
| **MSD Manual DE** | https://www.msdmanuals.com/de/heim (Website) |
|
||||||
|
| **AWMF Leitlinien** | https://register.awmf.org/ (Einzel-PDFs pro Leitlinie) |
|
||||||
|
| **Meshtastic/LoRa** | https://meshtastic.org/docs/ |
|
||||||
|
| **ATAK/CivTAK** | tak.gov, CivTAK-Dokumentation |
|
||||||
|
| **Baofeng UV-5R** | Miklor, sn0wlink, radiodoc/uv-5r (siehe CATEGORIES-TODO.md) |
|
||||||
|
| **VDE/DEHN** | Wo frei verfügbar (oft Normen paywall) |
|
||||||
|
| **DARC Notfunk** | https://www.darc.de/der-club/referate/notfunk/dokumente/ (PDFs manuell von der Seite) |
|
||||||
|
|
||||||
|
Nach dem Speichern ggf. nach `10_EIGENE_PDFS_RAG` kopieren und **Scan and Sync** ausführen.
|
||||||
|
|
||||||
|
## 5. Österreich-Karte (PMTiles Extract, optional)
|
||||||
|
|
||||||
|
Für eine Offline-Karte nur Österreich: [pmtiles CLI](https://github.com/protomaps/go-pmtiles/releases) installieren, dann (wenn eine gültige Build-URL von [maps.protomaps.com/builds](https://maps.protomaps.com/builds) verfügbar ist):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pmtiles extract "https://build.protomaps.com/YYYYMMDD.pmtiles" austria.pmtiles --bbox=9.53,46.37,17.16,49.02
|
||||||
|
```
|
||||||
|
|
||||||
|
Datei nach `storage/maps/pmtiles/` legen und in der App unter Einstellungen → Karten hinzufügen.
|
||||||
53
install/download-nomad-data-pdfs.sh
Executable file
53
install/download-nomad-data-pdfs.sh
Executable file
|
|
@ -0,0 +1,53 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
# Download all PDFs and resources from install/nomad-data-pdf-urls.txt into NOMAD-DATA.
|
||||||
|
# Usage: ./install/download-nomad-data-pdfs.sh [TARGET_DIR]
|
||||||
|
# TARGET_DIR defaults to ./NOMAD-DATA or $NOMAD_DATA_PATH
|
||||||
|
# Requires: wget or curl
|
||||||
|
|
||||||
|
set -e
|
||||||
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
||||||
|
MANIFEST="${SCRIPT_DIR}/nomad-data-pdf-urls.txt"
|
||||||
|
TARGET="${1:-${NOMAD_DATA_PATH:-$REPO_ROOT/NOMAD-DATA}}"
|
||||||
|
|
||||||
|
if [[ ! -f "$MANIFEST" ]]; then
|
||||||
|
echo "Manifest not found: $MANIFEST"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p "$TARGET"
|
||||||
|
cd "$TARGET"
|
||||||
|
|
||||||
|
if command -v wget &>/dev/null; then
|
||||||
|
GET="wget"
|
||||||
|
GET_OPTS=(--no-check-certificate -q --show-progress -N)
|
||||||
|
elif command -v curl &>/dev/null; then
|
||||||
|
GET="curl"
|
||||||
|
GET_OPTS=(-fSL -o)
|
||||||
|
else
|
||||||
|
echo "Need wget or curl."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
count=0
|
||||||
|
while IFS= read -r line || [[ -n "$line" ]]; do
|
||||||
|
line="${line%%#*}"
|
||||||
|
line="$(echo "$line" | tr -d '\r' | sed 's/^[[:space:]]*//; s/[[:space:]]*$//')"
|
||||||
|
[[ -z "$line" ]] && continue
|
||||||
|
subdir="${line%%[[:space:]]*}"
|
||||||
|
url="$(echo "${line#*[[:space:]]}" | sed 's/^[[:space:]]*//')"
|
||||||
|
[[ -z "$url" || "$url" == "$subdir" ]] && continue
|
||||||
|
dir="$TARGET/$subdir"
|
||||||
|
mkdir -p "$dir"
|
||||||
|
raw_name=$(basename "$(echo "$url" | sed 's/?.*//')")
|
||||||
|
filename=$(echo "$raw_name" | sed 's/%20/_/g; s/%2B/+/g')
|
||||||
|
[[ -z "$filename" ]] && filename="doc_$(echo "$url" | sha256sum 2>/dev/null | cut -c1-12).pdf"
|
||||||
|
if [[ "$GET" == "wget" ]]; then
|
||||||
|
(cd "$dir" && wget "${GET_OPTS[@]}" -O "$filename" "$url") || true
|
||||||
|
else
|
||||||
|
(cd "$dir" && curl -fSL -o "$filename" "$url") || true
|
||||||
|
fi
|
||||||
|
((count++)) || true
|
||||||
|
done < "$MANIFEST"
|
||||||
|
|
||||||
|
echo "Done. Downloaded/updated up to $count files under $TARGET"
|
||||||
83
install/nomad-data-pdf-urls.txt
Normal file
83
install/nomad-data-pdf-urls.txt
Normal file
|
|
@ -0,0 +1,83 @@
|
||||||
|
# NOMAD-DATA PDF/Resource Download Manifest
|
||||||
|
# Format: SUBDIR URL
|
||||||
|
# SUBDIR = folder under NOMAD_DATA (e.g. 04_SURVIVAL, 07_FUNK, 10_EIGENE_PDFS_RAG)
|
||||||
|
# Run: install/download-nomad-data-pdfs.sh
|
||||||
|
# ---
|
||||||
|
|
||||||
|
# === 01_MEDIZIN / Notfall / WHO/IFRC ===
|
||||||
|
04_SURVIVAL https://www.ifrc.org/sites/default/files/2022-02/EN_GFARC_GUIDELINES_2020.pdf
|
||||||
|
04_SURVIVAL https://hlh.who.int/docs/librariesprovider4/hlh-documents/who-icrc-basic-emergency-care.pdf
|
||||||
|
01_MEDIZIN https://www.who.int/publications/i/item/WHO-MHP-HPS-EML-2023.02
|
||||||
|
01_MEDIZIN https://publikationen.dguv.de/widgets/pdf/download/article/826
|
||||||
|
|
||||||
|
# === BBK (DE) Notfallvorsorge ===
|
||||||
|
04_SURVIVAL https://www.bbk.bund.de/SharedDocs/Downloads/DE/Mediathek/Publikationen/Buergerinformationen/Ratgeber/ratgeber-notfallvosorge-checkliste.pdf?__blob=publicationFile&v=10
|
||||||
|
|
||||||
|
# === Österreich Zivilschutz ===
|
||||||
|
04_SURVIVAL https://www.zivilschutz.at/wp-content/uploads/2022/09/Blackout-Ratgeber_Web.pdf
|
||||||
|
04_SURVIVAL https://www.zivilschutz.at/wp-content/uploads/2022/09/Blackout_Folder_Web.pdf
|
||||||
|
04_SURVIVAL https://www.zivilschutz.at/wp-content/uploads/2022/06/Infoblatt-Sirenensignale.pdf
|
||||||
|
04_SURVIVAL https://www.zivilschutz.at/wp-content/uploads/2022/06/Infoblatt-Notrufnummern.pdf
|
||||||
|
04_SURVIVAL https://www.zivilschutz.at/wp-content/uploads/2022/09/Vorrat_Checkliste_Web-small-rgb.pdf
|
||||||
|
04_SURVIVAL https://www.bundesheer.at/pdf_pool/publikationen/risikolandschaft_oesterreich_2022.pdf
|
||||||
|
04_SURVIVAL https://www.bundesheer.at/archiv/a2022/pdf/blackout_kochbuch.pdf
|
||||||
|
08_VORRAT https://www.zivilschutz.at/wp-content/uploads/2022/09/Vorrat_Checkliste_Web-small-rgb.pdf
|
||||||
|
|
||||||
|
# === FEMA / Ready.gov / CERT ===
|
||||||
|
04_SURVIVAL https://www.ready.gov/sites/default/files/2021-11/are-you-ready-guide.pdf
|
||||||
|
04_SURVIVAL https://www.ready.gov/sites/default/files/2025-02/fema_full-suite-hazard-info-sheets.pdf
|
||||||
|
04_SURVIVAL https://www.ready.gov/sites/default/files/2020-03/ready_evacuating.pdf
|
||||||
|
04_SURVIVAL https://www.ready.gov/sites/default/files/2020-03/ready_shelter.pdf
|
||||||
|
04_SURVIVAL https://www.ready.gov/sites/default/files/2020-03/ready_communications.pdf
|
||||||
|
04_SURVIVAL https://www.ready.gov/sites/default/files/2019.CERT_.Basic_.PM_FINAL_508c.pdf
|
||||||
|
04_SURVIVAL https://www.ready.gov/sites/default/files/documents/files/RRToolkit.pdf
|
||||||
|
08_VORRAT https://www.fema.gov/pdf/library/f&web.pdf
|
||||||
|
|
||||||
|
# === FEMA ICS Formulare ===
|
||||||
|
07_FUNK https://training.fema.gov/emiweb/is/icsresource/assets/ics%20forms/ics%20form%20201,%20incident%20briefing%20(v3).pdf
|
||||||
|
07_FUNK https://training.fema.gov/emiweb/is/icsresource/assets/ics%20forms/nims%20ics%20forms%20booklet%20(v3).pdf
|
||||||
|
|
||||||
|
# === CDC Wasser / Gesundheit ===
|
||||||
|
04_SURVIVAL https://www.cdc.gov/healthywater/pdf/drinking/HomeWaterTreatment.pdf
|
||||||
|
04_SURVIVAL https://www.cdc.gov/healthywater/pdf/emergency/foodandwater.pdf
|
||||||
|
05_ENERGIE https://www.cdc.gov/healthywater/pdf/drinking/HomeWaterTreatment.pdf
|
||||||
|
08_VORRAT https://www.cdc.gov/healthywater/pdf/emergency/foodandwater.pdf
|
||||||
|
|
||||||
|
# === BLE/BZL Garten DE ===
|
||||||
|
02_GARTEN https://www.ble.de/SharedDocs/Downloads/DE/Pressemitteilungen/2023/230309_Eigener_Garten.pdf
|
||||||
|
02_GARTEN https://www.ble.de/SharedDocs/Downloads/DE/Pressemitteilungen/2024/240529_Schatten.pdf
|
||||||
|
02_GARTEN https://www.ble.de/SharedDocs/Downloads/DE/Pressemitteilungen/2022/221104_Kompost-Garten.pdf
|
||||||
|
|
||||||
|
# === UBA Kompost ===
|
||||||
|
02_GARTEN https://www.umweltbundesamt.de/sites/default/files/medien/461/publikationen/4324.pdf
|
||||||
|
|
||||||
|
# === FAO ===
|
||||||
|
02_GARTEN https://www.fao.org/fileadmin/templates/FCIT/PDF/briefing_guide.pdf
|
||||||
|
02_GARTEN https://www.fao.org/4/i3284e/i3284e.pdf
|
||||||
|
|
||||||
|
# === NREL / IEA Energie ===
|
||||||
|
05_ENERGIE https://www.nrel.gov/docs/fy19osti/72564.pdf
|
||||||
|
05_ENERGIE https://www.nrel.gov/docs/fy15osti/64002.pdf
|
||||||
|
|
||||||
|
# === HUD Gebäude-Wartung ===
|
||||||
|
03_REPARATUR https://www.hud.gov/sites/documents/hudgb1.pdf
|
||||||
|
03_REPARATUR https://www.hud.gov/sites/documents/hudgb5guid.pdf
|
||||||
|
03_REPARATUR https://www.hud.gov/sites/documents/hudgb6guid.pdf
|
||||||
|
|
||||||
|
# === EPA Renovierung/Sicherheit ===
|
||||||
|
03_REPARATUR https://www.epa.gov/sites/default/files/2020-03/documents/small_entity_guide_9-23-11_w_new_cover.pdf
|
||||||
|
03_REPARATUR https://www.epa.gov/sites/default/files/2014-05/documents/initial_renovator-student_oct2011_0.pdf
|
||||||
|
|
||||||
|
# === USDA Wood Handbook ===
|
||||||
|
03_REPARATUR https://research.fs.usda.gov/treesearch/download/37440.pdf
|
||||||
|
|
||||||
|
# === Fuel/Energy ===
|
||||||
|
08_VORRAT https://www.energy.gov/sites/default/files/2019/01/f58/fuel-storage-guide.pdf
|
||||||
|
|
||||||
|
# --- Kein direktes PDF / manuell oder SingleFile ---
|
||||||
|
# MSD Manual DE: https://www.msdmanuals.com/de/heim (Website, kein Gesamt-PDF)
|
||||||
|
# AWMF Leitlinien: https://register.awmf.org/ (Einzel-PDFs pro Leitlinie)
|
||||||
|
# Meshtastic: https://meshtastic.org/docs/ (Docusaurus – SingleFile oder wget)
|
||||||
|
# ATAK/CivTAK: https://tak.gov/ bzw. CivTAK-Docs (manuell)
|
||||||
|
# Baofeng UV-5R: Miklor, sn0wlink, radiodoc/uv-5r – siehe CATEGORIES-TODO.md
|
||||||
|
# DARC Notfunk: https://www.darc.de/der-club/referate/notfunk/dokumente/ (Seite, PDFs manuell laden)
|
||||||
Loading…
Reference in New Issue
Block a user