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: | артефакт мастера установки, рабочей нагрузки не несёт |
ACL
Пользователь claude — сервисная учётка, под которой работает модель через
ToolMesh.
| Namespace | Право | Почему так |
|---|---|---|
tech: | None | документация + вложения |
projects: | Upload | результаты работы, могут включать файлы |
sandbox: | Upload | песочница |
originals:qoe:csv: | Read | данные кладёт не модель |
ai:claude:system-prompts: | Read | Для избежания перезаписи роли агента |
Уровни прав в DokuWiki
Права иерархические и накопительные, выбирается один уровень:
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 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.