本文使用「署名 4.0 國際 (CC BY 4.0)」許可協議,歡迎轉載、或重新修改使用,但需要註明來源。 署名 4.0 國際 (CC BY 4.0)
本文作者: 蘇洋
建立時間: 2019年02月02日 統計字數: 2632字 閱讀時間: 6分鐘閱讀 本文連結: soulteary.com/2019/02/02/…
使用 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
我現在有一個小小的折騰群,裡面聚集了一些喜歡折騰的小夥伴。
在不發廣告的情況下,我們在裡面會一起聊聊軟體、HomeLab、程式設計上的一些問題,也會在群裡不定期的分享一些技術沙龍的資料。
喜歡折騰的小夥伴歡迎掃碼新增好友。(請註明來源和目的,否則不會通過稽核)