使用 Docker 搭建你的Wiki(MoinMoin)
前面介紹了三款不同的 RSS 系統的快速搭建使用,接下來我將演示幾種不同的 Wiki 系統,同樣是藉助 Docker 和 Traefik 進行快速搭建,本篇是第二篇,MoinMoin。
如果你有閱讀過我之前寫的文章,那麼參考本篇文章將文章搭建起來,應該只需要3分鐘或者更少,如果你沒有看過,那麼可以點選本文相關的文章標籤,閱讀過往的文章。
關於 MoinMoin
MediaWiki 是一款開源並且支援免費使用的軟體,由Python編寫,同樣天生跨平臺,並被廣泛使用在各種知識社群內。
當然你可能會覺得陌生,但是當說提及幾個站點之後,你可能會大呼原來如此:
除此之外,還有 GNOME、WineHQ、ID3、GCC、GRUB 等一堆大名鼎鼎的軟體都使用了它。
套用“網際網路圈”的話,如果說 MediaWiki 做的是 C 端市場,那麼 MoinMoin 主打的則是 B 端的企業服務。
但是在開源生態裡,MoinMoin 的周邊生態就不比 MediaWiki 了,不過好在全面夠用,想了解的同學可以 戳此訪問 。
他目前的穩定版本是 v1.9.10 , v2.0 版本正在開發的路上,有需求的同學可以去 GitHub 上 瞭解更多 ,本文基於穩定版本撰寫。
話不多說,開始實戰。
使用 Compose 執行 MoinMoin
配合下面的配置檔案,使用 Compose 可以一鍵啟動一個使用 文字檔案 作為資料儲存的 MoinMoin ,配置很簡單,20行程式碼左右。
version: "3" services: # https://hub.docker.com/r/olavgg/moinmoin-wiki/ moinmoin: restart: always image: olavgg/moinmoin-wiki:1.9.10.1 environment: - NOSSL=1 labels: - "traefik.enable=true" - "traefik.frontend.rule=Host:moinmoin.lab.io" - "traefik.frontend.passHostHeader=true" - "traefik.frontend.entryPoints=http,https" networks: - traefik expose: - 80 volumes: - ./data:/usr/local/share/moin/data networks: traefik: external: true
當使用 docker-compose up
將應用啟動之後,便可以通過我們配置的域名進行訪問了,本例中地址為 moinmoin.lab.io
。(我使用 Traefik 提供服務發現,如果你不會操作,請訪問我的歷史文章,瞭解 Traefik 如何使用。)
在展示程式介面和常規操作之前,我們說一下我們的資料存放地址,以及未來外掛要在哪裡進行存放和應用。
在上面的配置檔案 docker-compose.yml
的同級目錄會自動生成 data
目錄,在目錄內會包含使用者資料相關的內容,如下所示:
data ├── cache │ ├── README │ ├── __session__ │ ├── spellchecker.dict │ └── wikiconfig ├── dict │ └── dummy_dict ├── edit-log ├── event-log ├── initialized ├── intermap.txt ├── meta ├── pages │ ├── BadContent │ └── FrontPage ├── plugin │ ├── action │ ├── converter │ ├── events │ ├── filter │ ├── formatter │ ├── macro │ ├── parser │ ├── theme │ ├── userprefs │ └── xmlrpc └── user
如果你需要應用官方市場的外掛或者主題,請放置於 data/plugin/
目錄內的指定資料夾中,並重啟 MoinMoin。
我們的 Wiki 條目資料會被存放在 data/pages
中,所以請定期對該位置資料進行備份儲存。
MoinMoin 的常規操作
開啟瀏覽器,可以看到 MoinMoin 已經執行起來了。
雙擊任意一個“帖子”,可以直接進入編輯器介面。
點選儲存,第一條 Wiki 條目的更新操作就完成了。
點選條目中的資訊連結,可以直觀的檢視到內容的變更記錄,並執行不同版本的對比,獲取更多的資訊。
最後
如果你對本文聊到的 Docker 、Traefik 、Compose 還不是很熟悉,歡迎閱讀我的以往文章,補全對上述技術的認識,希望我的文章可以對你有幫助。
接下來我會繼續介紹幾種不同的 Wiki 系統的安裝配置、魔改,如果你也在考慮如何維護一套讓自己用起來舒服的知識管理工具,可以繼續關注,下回再見。
— EOF