Как создать локальный Wiki-сервер с Kiwix
Иногда доступ к информации может прерываться: нестабильный интернет, ограничения в сети, требования к полностью контролируемой среде. В таких случаях спасает заранее подготовленная оффлайн-библиотека.
Далее мы подробно и понятно расскажем, как организовать локальную копию Wikipedia и Arch Wiki с помощью Kiwix и Docker.
Что такое Kiwix
Kiwix упаковывает целые сайты в сильно сжатые ZIM-файлы. Их удобно хранить на телефоне, ноутбуке или отдавать по локальной сети с небольшого сервера вроде Raspberry Pi.
Поскольку ZIM — бинарный формат, требуется совместимое ПО: доступны приложения для Windows, macOS, Linux, Android, а также официальные Docker-образы. Преимущество очевидно — контент доступен без интернета.
Что понадобится
- Raspberry Pi (подойдёт любой; можно использовать и обычный ПК).
- Хранилище ~90 ГБ и больше; предпочтительно внешний HDD/SSD.
- Подключение к сети (Ethernet или Wi-Fi) для первичной загрузки контента.
- Клавиатура и монитор для начальной настройки (по необходимости).
Шаг 1. Загрузка ZIM-файлов
В каталоге Kiwix доступны разные источники: полная Wikipedia (варианты с/без медиа), подборки статей, Arch Wiki, Project Gutenberg, TED и др.
Выберите нужные сборки и скачайте их заранее. Практично начинать с облегчённых вариантов (например, топ-подборок по Википедии), а затем добавлять объёмные файлы по мере необходимости.
Сохраните материалы в каталог, который позже будет примонтирован в контейнер, например:
/home/user/kiwix
Шаг 2. Развёртывание через Docker
Убедитесь, что Docker установлен на устройстве.
Вариант A. docker run
docker run -v /home/user/kiwix:/data -p 8080:8080 ghcr.io/kiwix/kiwix-serve '*.zim'
Команда запускает сервер Kiwix, даёт ему доступ к ZIM-файлам из /home/user/kiwix и публикует веб-интерфейс на порту 8080 хоста. Маска *.zim сообщает Kiwix обслуживать все ZIM-файлы в каталоге /data.
Вариант B. docker-compose
Создайте файл docker-compose.yml:
version: '3'
services:
kiwix-serve:
image: ghcr.io/kiwix/kiwix-serve
volumes:
- /home/user/kiwix:/data
ports:
- '8080:8080'
command: '*.zim'
Запустите:
docker-compose up -d
Сервис стартует в фоне и будет доступен на порту 8080.
Первый запуск
Откройте браузер и перейдите на адрес вашего устройства в локальной сети:
http://<локальный-IP>:8080
Отобразится список ZIM-файлов из каталога /data. Любой из них можно открыть и просматривать в офлайн-режиме: статьи Wikipedia, страницы Arch Wiki и т. д.
Практические замечания
microSD-карты подходят для экспериментов, но не оптимальны для долгосрочного хранения больших ZIM-файлов: они дороже за гигабайт, медленнее и быстрее изнашиваются. Для стабильной работы разумнее подключить внешний HDD или SSD — так и быстрее, и вместительнее.
Вывод
Локальная библиотека на базе Kiwix даёт контролируемый, независимый от интернета доступ к знаниям. Настройка через Docker занимает минимум времени, а расширение коллекции сводится к добавлению новых ZIM-файлов в каталог данных.