tech:server:dokuwiki

This is an old revision of the document!


DokuWiki

Файловая вики без БД — источник истины проекта. Страницы хранятся как plain-text вики-разметка, что делает их пригодными для чтения и записи моделью напрямую.

Публичный адрес: https://entrypoint.ve-playground.ai.zevgen.com (через nginx, внутри — 127.0.0.1:8080)

Параметр Значение
Образ linuxserver/dokuwiki:version-2026-07-14
Контейнер dokuwiki
Конфиг и данные /opt/ve-playground/dokuwiki/config/config
Сеть ve-playground
Порт 127.0.0.1:8080:80

Тег зафиксирован осознанно (не latest). Immutable-эквивалент того же образа — 2026-07-14-ls314.

docker run -d \
  --name dokuwiki \
  --network ve-playground \
  --restart unless-stopped \
  -p 127.0.0.1:8080:80 \
  -e PUID=1000 -e PGID=1000 -e TZ=Europe/Amsterdam \
  -v /opt/ve-playground/dokuwiki/config:/config \
  linuxserver/dokuwiki:version-2026-07-14

После прохождения мастера установки контейнер нужно перезапустить — при старте он удаляет install.php (Existing install found, deleting install.php в логе). Без перезапуска файл остаётся доступен всем.

Настройки, выбранные при установке:

  • ACL policy: Public Wiki — чтение всем, правка требует входа
  • Лицензия: не показывать (внутренняя база знаний, не публикуемый контент)
  • Отправка анонимной статистики: отключена
Namespace Назначение
tech: техническая документация, архитектура, эксплуатация
ai:claude:system-prompts: ролевые промпты
projects: результаты анализа: находки, алгоритмы, скрипты
originals: сырые данные, конвенция originals:<сущность>:<тип>:<год>:<файл>
sandbox: песочница, содержимое временное
wiki: встроенная справка DokuWiki, не трогаем
playground: артефакт мастера установки, рабочей нагрузки не несёт

Пользователь claude — сервисная учётка, под которой работает модель через ToolMesh.

Namespace Право Почему так
tech: None документация + вложения
projects: Upload результаты работы, могут включать файлы
sandbox: Upload песочница
originals:qoe:csv: Read данные кладёт не модель
ai:claude:system-prompts: Read Для избежания перезаписи роли агента

Права иерархические и накопительные, выбирается один уровень:

none(0) → read(1) → edit(2) → create(4) → upload(8) → delete(16) → admin(255)

Существенный нюанс, который легко понять неправильно: delete относится только к медиафайлам (перезапись и удаление вложений). Текстовые страницы удаляются уже на уровне edit — сохранением пустого содержимого. То есть для защиты страницы от удаления недостаточно не давать delete.

Файл на диске: /config/dokuwiki/conf/acl.auth.php (внутри контейнера).

Логин Назначение
vas_admin администратор вики (человек)
claude сервисная учётка модели, работает через ToolMesh
evgeniy учетка Евгения

В remoteuser указан только claude — Remote API доступен ровно одной сервисной учётке, а не всем аутентифицированным пользователям вики.

Настройка Значение Что делает
remote включено разрешает Remote API в принципе
remoteuser claude ограничивает круг пользователей, кому доступен API

Практический порог одной страницы — примерно 14 КБ кириллицы либо 18 КБ латиницы. Большие страницы читаются срезами, пишутся через композит chunked_save_page (см. toolmesh).

list_pages вызывается с depth: 0 для получения полного дерева.

Загрузка медиа ограничена client_max_body_size 100M в nginx.

Однократно наблюдался сброс ACL к состоянию «только @ALL и @user» при сохранившихся пользователях, неймспейсах и настройках remote. Причина не установлена; контейнер и хост при этом не перезапускались, аудит ToolMesh не содержит вызовов add_acl/delete_acl. Подробности и что проверять при повторении — incidents.


← Сервер

  • tech/server/dokuwiki.1785226228.txt.gz
  • Last modified: 2026/07/28 10:10
  • by vas_admin