Как создать локальный Wiki-сервер с Kiwix

Как создать локальный 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-файлов в каталог данных.