МинДок: введение
МинДок — это простая и удобная система управления документацией, разработанная для IT-команд.
Предшественником МинДока является SmartWiki — система управления документами, основанная на PHP-фреймворке Laravel. Однако из-за сложности развёртывания на PHP для обычных пользователей, было решено использовать Golang для разработки МинДока. Это делает его более удобным для развёртывания и использования.
Цель разработки — создать систему для управления и обмена проектными интерфейсами, основанную на Kancloud. Она может использоваться для хранения документации по повседневным интерфейсам, базам данных, справочникам и другим документам. МинДок также включает в себя функции управления проектами, пользователями и разрешениями, что удовлетворяет потребности большинства малых и средних команд в управлении документацией.
Демонстрационные сайты и документация:
— Автор lifei6671 создал МинДок и долгое время поддерживал его.
— Из-за работы и других обязательств у автора не хватает времени на постоянное поддержание МинДока, поэтому он передал его сообществу (github-организация mindoc-org) 23 марта 2021 года. Теперь ожидается, что заинтересованные разработчики присоединятся к mindoc-org для поддержки МинДока.
— Если у вас есть вопросы или проблемы, пожалуйста, создайте Issues. Мы также приглашаем пользователей и вкладчиков присоединиться к QQ-группе 1051164153.
— Для тех, кто интересуется разработкой, следите за Development:
* Todo List;
* Work in progress;
* Review in progress.
— МинДок разработан на основе beeego, документацию по которому можно найти по адресу: https://github.com/beego/beego-doc/tree/main/docs/zh.
— Особое заявление:
— Оригинальный автор lifei6671 удалил информацию о личных пожертвованиях 6 августа 2021 года (см.: 1a179179c1fe4d0d4db95e0b757d863aee5bf395).
— На данный момент (2023-03-27), mindoc-org ещё не опубликовал информацию о пожертвованиях, поэтому будьте осторожны.
Если на вашем сервере не установлен Golang, вам необходимо вручную установить переменную окружения ZONEINFO со значением MinDoc/lib/time/zoneinfo.zip.
Для получения дополнительной информации см. руководство пользователя: Руководство пользователя МинДока.
Если у вас нет опыта работы с Golang, вы можете загрузить скомпилированную программу с https://github.com/mindoc-org/mindoc/releases.
Если у вас есть опыт работы с Golang, рекомендуется выполнить компиляцию и установку, требуя версию Golang не ниже 1.15.1 (требуется поддержка CGO, go mod и import _ "time/tzdata") (рекомендуется использовать версию Go 1.18.1).
Примечание: на CentOS7 GLibC имеет низкую версию, и обычная компиляция не работает. Необходимо самостоятельно скомпилировать исходный код или использовать musl-компиляцию.
# Клонирование исходного кода
git clone https://github.com/mindoc-org/mindoc.git
# Установка пакетов go
go mod tidy -v
# Компиляция (sqlite требует поддержки CGO)
go build -ldflags "-w" -o mindoc main.go
# Инициализация базы данных (перед этим необходимо настроить conf/app.conf)
./mindoc install
# Запуск
./mindoc
# Выполнение в режиме разработки
bee run
./mindoc update
В МинДоке, если используется MySQL для хранения данных, кодировка должна быть utf8mb4_general_ci. Перед установкой проекта настройте конфигурацию базы данных в каталоге conf/app.conf.
При использовании SQLite для базы данных просто настройте путь к базе данных в файле конфигурации.
Если каталог conf не содержит app.conf, переименуйте файл app.conf.example в app.conf.
По умолчанию программа автоматически инициализирует суперпользователя с именем admin и паролем 123456. После входа в систему рекомендуется изменить пароль.
wget -c http://musl.libc.org/releases/musl-1.2.2.tar.gz
tar -xvf musl-1.2.2.tar.gz
cd musl-1.2.2
./configure
make
sudo make install
go mod tidy -v
export GOARCH=amd64
export GOOS=linux
# Настройка использования musl-gcc
export CC=/usr/local/musl/bin/musl-gcc
# Настройка версии
export TRAVIS_TAG=temp-musl-v`date +%y%m%d`
go build -v -o mindoc_linux_musl_amd64 -ldflags="-linkmode external -extldflags '-static' -w -X 'github.com/mindoc-org/mindoc/conf.VERSION=$TRAVIS_TAG' -X 'github.com/mindoc-org/mindoc/conf.BUILD_TIME=`date`' -X 'github.com/mindoc-org/mindoc/conf.GO_VERSION=`go version`'"
# Проверка
./mindoc_linux_musl_amd64 version
Используйте mindoc-daemon. Слой (https://github.com/sentsin/layer) — это фреймворк для всплывающих окон.
Highlight.js (https://github.com/highlightjs/highlight.js) — библиотека для выделения кода.
to-markdown Turndown (https://github.com/domchristie/turndown) — библиотека, которая преобразует HTML в Markdown.
quill — редактор с форматированием текста
WangEditor (https://github.com/wangeditor-team/wangEditor) — редактор с форматированием текста. Ссылки: * WangEditor v4.7 — учебник по редактору с форматированием текста (https://www.bookstack.cn/books/wangeditor-4.7-zh). * Проблема: регистрация меню слишком сложная #2493 (https://github.com/wangeditor-team/wangEditor/issues/2493). Инструменты: https://babeljs.io/repl + @babel/plugin-transform-classes.
Vue.js (https://github.com/vuejs/vue) — фреймворк.
Мы приглашаем вас сообщать о проблемах или вносить предложения в проект MinDoc на GitHub. Если вы не знакомы с моделью разработки Fork and Pull на GitHub, вы можете прочитать документацию GitHub (https://help.github.com/articles/using-pull-requests), чтобы получить больше информации.
Не совсем чистый PHP-разработчик, не совсем свободный программист на языке Go.
Добавить:
location /yourpath/ {
rewrite ^/yourpath/(.*) /$1 break;
proxy_pass http://127.0.0.1:8181;
}
Обратите внимание, что используется 127.0.0.1. Вы должны заменить его на свой собственный адрес, если вы используете docker для развёртывания. В этом случае вам также нужно будет запустить mindoc в docker. Вот пример конфигурации docker-compose для проксирования (docker-nginx проксирует запуск mindoc):
version: '3'
services:
mynginx:
image: nginx:latest
ports:
- "8880:80"
command:
- bash
- -c
- |
service nginx start
cd /src/mindoc/ && ./mindoc
volumes:
- ..:/src
- ./nginx:/etc/nginx/conf.d
Структура каталогов:
onefolder
|
- docker
|
- docker-compose.yml
- nginx
|
- mynginx.conf
|
- mindoc
|
- database/
- conf/
...
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )