1. 程式人生 > 實用技巧 >MinDoc 是一款針對IT團隊開發的簡單好用的文件管理系統

MinDoc 是一款針對IT團隊開發的簡單好用的文件管理系統

MinDoc 是一款針對IT團隊開發的簡單好用的文件管理系統。

MinDoc 的前身是 SmartWiki 文件系統。SmartWiki 是基於 PHP 框架 laravel 開發的一款文件管理系統。因 PHP 的部署對普通使用者來說太複雜,所以改用 Golang 開發。可以方便使用者部署和實用,同時增加Markdown和HTML兩種編輯器。

開發緣起是公司IT部門需要一款簡單實用的專案介面文件管理和分享的系統。其功能和介面源於 kancloud 。

可以用來儲存日常介面文件,資料庫字典,手冊說明等文件。內建專案管理,使用者管理,許可權管理等功能,能夠滿足大部分中小團隊的文件管理需求。

主要功能:

  • 專案管理,可以對專案進行編輯更改,成員新增等。

  • 文件管理,新增和刪除文件等。

  • 評論管理,可以管理文件評論和自己釋出的評論。

  • 使用者管理,新增和禁用使用者,個人資料更改等。

  • 使用者許可權管理 , 實現使用者角色的變更。

  • 專案加密,可以設定專案公開狀態,私有專案需要通過Token訪問。

  • 站點配置,可開啟匿名訪問、驗證碼等。

專案截圖:

建立專案

專案列表

專案概述

專案成員

專案設定

基於Editor.md開發的Markdown編輯器

基於wangEditor開發的富文字編輯器

專案預覽

超級管理員後臺

-------------------------------------------------

GitHub:https://github.com/lifei6671/mindoc

GitHub - README.md

MinDoc 簡介

MinDoc 是一款針對IT團隊開發的簡單好用的文件管理系統。

MinDoc 的前身是 SmartWiki 文件系統。SmartWiki 是基於 PHP 框架 laravel 開發的一款文件管理系統。因 PHP 的部署對普通使用者來說太複雜,所以改用 Golang 開發。可以方便使用者部署和實用。

開發緣起是公司IT部門需要一款簡單實用的專案介面文件管理和分享的系統。其功能和介面源於 kancloud 。

可以用來儲存日常介面文件,資料庫字典,手冊說明等文件。內建專案管理,使用者管理,許可權管理等功能,能夠滿足大部分中小團隊的文件管理需求。

演示站點:http://doc.iminho.me

安裝與使用

如果你的伺服器上沒有安裝golang程式請手動設定一個環境變數如下:鍵名為 ZONEINFO,值為MinDoc跟目錄下的/lib/time/zoneinfo.zip 。

更多資訊請檢視手冊:MinDoc 使用手冊

對於沒有Golang使用經驗的使用者,可以從https://github.com/lifei6671/mindoc/releases這裡下載編譯完的程式。

如果有Golang開發經驗,建議通過編譯安裝,在此之前,您需要先安裝Golang官方包管理工具,詳見Install dep

git clone https://github.com/lifei6671/mindoc.git

dep ensure

go build -ldflags "-w"

./mindoc install

./mindoc

MinDoc 如果使用MySQL儲存資料,則編碼必須是utf8mb4_general_ci。請在安裝前,把資料庫配置填充到專案目錄下的conf/app.conf中。

如果使用SQLite資料庫,則直接在配置檔案中配置資料庫路徑即可.

如果conf目錄下不存在app.conf請重新命名app.conf.exampleapp.conf

預設程式會自動初始化一個超級管理員使用者:admin 密碼:123456 。請登入後重新設定密碼。

#郵件配置
#是否啟用郵件
enable_mail=true
#smtp伺服器的賬號
[email protected]
#smtp伺服器的地址
smtp_host=smtp.ym.163.com
#密碼
smtp_password=1q2w3e__ABC
#埠號
smtp_port=25
#郵件傳送人的地址
[email protected]
#郵件有效期30分鐘
mail_expired=30

使用Docker部署

如果是Docker使用者,可參考專案內建的Dockerfile檔案編譯映象。

在啟動映象時需要提供如下的環境變數:

DB_ADAPTER                  制定 DB
MYSQL_PORT_3306_TCP_ADDR    MySQL地址
MYSQL_PORT_3306_TCP_PORT    MySQL埠號
MYSQL_INSTANCE_NAME         MySQL資料庫名稱
MYSQL_USERNAME              MySQL賬號
MYSQL_PASSWORD              MySQL密碼
HTTP_PORT                   程式監聽的埠號

舉個栗子

docker run -p 8181:8181 --name mindoc -e DB_ADAPTER=mysql -e MYSQL_PORT_3306_TCP_ADDR=10.xxx.xxx.xxx -e MYSQL_PORT_3306_TCP_PORT=3306 -e MYSQL_INSTANCE_NAME=mindoc -e MYSQL_USERNAME=root -e MYSQL_PASSWORD=123456 -e httpport=8181 -d daocloud.io/lifei6671/mindoc:latest

docker-compose 一鍵安裝

  1. 修改配置檔案 修改docker-compose.yml中的配置資訊,主要修改volumes節點,將宿主機的兩個目錄對映到容器內。environment節點,配置自己的環境變數。

  2. 一鍵完成所有環境搭建

    docker-compose up -d

  3. 瀏覽器訪問

    http://localhost:8181/

    整個部署完成了

  4. 常用命令參考

    • 啟動

      docker-compose up -d

    • 停止

      docker-compose stop

    • 重啟

      docker-compose restart

    • 停止刪除容器,釋放所有資源

      docker-compose down

    • 刪除並重新建立

      docker-compose -f docker-compose.yml down && docker-compose up -d 更多 docker-compose 的使用相關的內容 請檢視官網文件或百度

專案截圖

建立專案

專案列表

專案概述

專案成員

專案設定

基於Editor.md開發的Markdown編輯器

基於wangEditor開發的富文字編輯器

專案預覽

超級管理員後臺

使用的技術

  • beego 1.10.0
  • mysql 5.6
  • editor.md Markdown 編輯器
  • bootstrap 3.2
  • jquery 庫
  • webuploader 檔案上傳框架
  • Nprogress 庫
  • jstree 樹狀結構庫
  • font awesome 字型庫
  • cropper 圖片剪裁庫
  • layer 彈出層框架
  • highlight 程式碼高亮庫
  • to-markdown HTML轉Markdown庫
  • quill 富文字編輯器
  • vue 框架

主要功能

  • 專案管理,可以對專案進行編輯更改,成員新增等。
  • 文件管理,新增和刪除文件等。
  • 評論管理,可以管理文件評論和自己釋出的評論。
  • 使用者管理,新增和禁用使用者,個人資料更改等。
  • 使用者許可權管理 , 實現使用者角色的變更。
  • 專案加密,可以設定專案公開狀態,私有專案需要通過Token訪問。
  • 站點配置,可開啟匿名訪問、驗證碼等。

參與開發

我們歡迎您在 MinDoc 專案的 GitHub 上報告 issue 或者 pull request。

如果您還不熟悉GitHub的Fork and Pull開發模式,您可以閱讀GitHub的文件(https://help.github.com/articles/using-pull-requests)獲得更多的資訊。

關於作者

一個不純粹的PHPer,一個不自由的 gopher 。

支援 MinDoc