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.example
為app.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 一鍵安裝
-
修改配置檔案 修改
docker-compose.yml
中的配置資訊,主要修改volumes
節點,將宿主機的兩個目錄對映到容器內。environment
節點,配置自己的環境變數。 -
一鍵完成所有環境搭建
docker-compose up -d
-
瀏覽器訪問
整個部署完成了
-
常用命令參考
- 啟動
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 。