MkDocs — хостинг внутренней документации
Назначение сервиса
mcdocs публикует Markdown-документацию репозитория (папка docs/) через MkDocs Material. Позволяет разработчикам и администраторам просматривать актуальные инструкции в браузере.
Структура каталогов
config/services/mcdocs/
├─ docker-compose.yaml # запуск контейнера
└─ .env_example # переменные окружения
Содержимое документации находится вне контейнера — бинд-контейнер ./../../../docs подключается как /docs.
.env параметры
| Переменная | Описание |
|---|---|
VIRTUAL_HOST |
Домен для доступа (Traefik) |
VIRTUAL_PORT |
Порт контейнера (8000) |
COMPOSE_PROJECT_NAME |
Префикс контейнера (опц.) |
Запуск
cd config/services/mcdocs
cp .env_example .env
# укажите домен
docker compose up -d
Тестовый доступ без Traefik:
docker compose exec mkdocs mkdocs serve -a 0.0.0.0:8000
Авто-обновление контента
MkDocs перезапускается при изменении файлов в docs/. В production используйте pipeline, который делает docker compose restart mkdocs.
Добавление новой страницы
- Создайте Markdown-файл в
docs/docs/. - Обновите навигацию в
docs/mkdocs.yml. - Изменения появятся на сайте через ~10 секунд.
Плагины
Образ squidfunk/mkdocs-material уже содержит большинство нужных плагинов. Чтобы добавить свой:
services:
mkdocs:
environment:
- MKDOCS_PLUGINS=search,minify-markdown
Backup
Сервис stateless: достаточно хранить каталог docs/ и файл mkdocs.yml.