← 返回上一頁
開源軟體

自架文件管理系統:MinDoc 部署教學

本頁目錄

自架文件管理系統:MinDoc 部署教學

如果你是一個 IT 團隊,常常需要管理技術文件、API 文件或是團隊知識庫,那麼一個好用的文件管理系統絕對是必備工具。今天要介紹的 MinDoc,就是專為這種需求設計的開源方案。

為什麼選擇 MinDoc?

市面上的文件系統百百種,但 MinDoc 有幾個特點讓它特別適合中小型團隊:

1. 部署超級簡單:支援 Docker,安裝過程不用 10 分鐘

2. 維護成本低:預設使用 SQLite,不需要另外架資料庫

3. 功能剛剛好:文件管理、權限控制、搜尋功能都有,但不會太複雜

4. 完全免費:開源專案,商用水準的功能免費使用

MinDoc 最早叫做 SmartWiki,當初是用 PHP 的 Laravel 框架開發的。但 PHP 環境對一般使用者來說不太好架,所以後來改用 Golang 重寫,部署就變得非常簡單了。

開始安裝:環境準備

這次我們用 Docker 來部署,適合用在群暉(Synology)或其他支援 Docker 的 Linux 環境。

首先 SSH 進去你的伺服器,建立資料夾結構:

建立 mindoc 目錄和子目錄

mkdir p /volume1/docker/mindoc/{conf,database,runtime,static,uploads,views}

進入目錄

cd /volume1/docker/mindoc

安裝選項一:Docker CLI 直接執行

如果你比較熟悉指令列,用這個方式最快:

docker run d \

restart always \

name mindoc \

p 8185:8181 \

v $(pwd)/conf:/mindoc/conf \

v $(pwd)/static:/mindoc/static \

v $(pwd)/views:/mindoc/views \

v $(pwd)/uploads:/mindoc/uploads \

v $(pwd)/runtime:/mindoc/runtime \

v $(pwd)/database:/mindoc/database \

e MINDOC_RUN_MODE=prod \

e MINDOC_DB_ADAPTER=sqlite3 \

e MINDOC_DB_DATABASE=./database/mindoc.db \

e MINDOC_CACHE=true \

e MINDOC_CACHE_PROVIDER=file \

e MINDOC_ENABLE_EXPORT=false \

e MINDOC_BASE_URL= \

e MINDOC_CDN_IMG_URL= \

e MINDOC_CDN_CSS_URL= \

e MINDOC_CDN_JS_URL= \

registry.cnhangzhou.aliyuncs.com/mindocorg/mindoc:v2.1

這裡簡單說明一下幾個重要的環境變數:

變數名稱 說明 範例值

MINDOC_RUN_MODE 執行模式,prod 為正式環境 prod

MINDOC_DB_ADAPTER 資料庫類型,可選 sqlite3 或 mysql sqlite3

MINDOC_DB_DATABASE 資料庫檔案位置 ./database/mindoc.db

MINDOC_BASE_URL 網站根路徑,如果有子目錄需求才需要設定 /mindoc

安裝選項二:Docker Compose(推薦)

如果想要後續管理比較方便,我更推薦用 dockercompose 的方式。先建立一個 dockercompose.yml 檔案:

version: "3"

services:

mindoc:

image: registry.cnhangzhou.aliyuncs.com/mindocorg/mindoc:v2.1

container_name: mindoc

privileged: false

restart: always

ports:

8185:8181

volumes:

./conf:/mindoc/conf

./static:/mindoc/static

./views:/mindoc/views

./uploads:/mindoc/uploads

./runtime:/mindoc/runtime

./database:/mindoc/database

environment:

MINDOC_RUN_MODE=prod

MINDOC_DB_ADAPTER=sqlite3

MINDOC_DB_DATABASE=./database/mindoc.db

MINDOC_CACHE=true

MINDOC_CACHE_PROVIDER=file

MINDOC_ENABLE_EXPORT=false

然後執行:

dockercompose up d

這樣就搞定了!

使用 MySQL 作為資料庫(進階)

如果你的團隊規模比較大,或者想要更好的效能,可以改用 MySQL。以下是修改的重點:

首先編輯 conf/app.conf,加入 MySQL 設定:

db_adapter = mysql

db_host = 你的資料庫主機IP

db_port = 3306

db_database = mindoc

db_username = 你的資料庫帳號

db_password = 你的資料庫密碼

要注意的是,如果要使用 MySQL,在 dockercompose 中要把環境變數改成:

environment:

MINDOC_DB_ADAPTER=mysql

MINDOC_DB_HOST=db伺服器IP

MINDOC_DB_PORT=3306

MINDOC_DB_DATABASE=mindoc

MINDOC_DB_USERNAME=帳號

MINDOC_DB_PASSWORD=密碼

另外記得建立一個空的資料庫,編碼用 utf8mb4

啟動後的初始設定

等容器啟動完成(約需 30~60 秒),打開瀏覽器訪問:

http://你的伺服器IP:8185

你應該會看到登入畫面。預設的帳號密碼是:

  • 帳號:admin
  • 密碼:123456
  • 登入後會看到一個示範項目,點擊「編輯」就可以開始寫文件了。功能相當直觀,如果遇到問題,官方文件網址是:https://mindoc.com.cn/docs/mindochelp

    實際使用體驗

    用了一陣子下來,MinDoc 幾個功能我覺得很實用:

    1. Markdown 支援:可以直接用 Markdown 寫文件,程式碼區塊、表格都能正常顯示

    2. 權限管理:可以設定哪些人只能看、哪些人可以編輯

    3. 全文搜尋:要找文件內容直接搜尋關鍵字就找到了

    4. 版本控制:文件編輯歷史都有記錄,萬一改壞了可以救回來

    5. 匯出功能:可以把文件匯出成 PDF(但預設關閉,要設定 MINDOC_ENABLE_EXPORT=true

    可能的問題與解決

    Q: 容器啟動後無法訪問?

    A: 檢查防火牆是否有開放 8185 port,以及 Docker 映射是否正確。

    Q: 檔案上傳失敗?

    A: 確認 uploads 目錄的權限,Docker 容器內的程式需要寫入權限。

    Q: 想改密碼怎麼辦?

    A: 登入後到「個人設置」裡面可以修改密碼,記得改成強度較高的密碼。

    總結

    MinDoc 是一個輕量級但功能齊全的文件管理系統,特別適合:

  • 小型 IT 團隊(5~20 人)
  • 需要管理 API 文件的開發團隊
  • 希望快速建立內部知識庫的組織
  • 如果你只是想要一個簡單的地方存放技術文件,不需要太複雜的功能,MinDoc 絕對是首選。安裝時間不超過 10 分鐘,而且後續幾乎不需要維護。

    官方 GitHub:https://github.com/mindocorg/mindoc

    官方網站:https://mindoc.com.cn/

    分享這篇
    X LinkedIn Facebook Hacker News Reddit

    發佈留言

    發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

    這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料