使用 Docker 搭建你的Wiki(MoinMoin)

蘇洋發表於2019-02-01

本文使用「署名 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 等一堆大名鼎鼎的軟體都使用了它。

使用 MoinMoin 部署的網站之一

套用“網際網路圈”的話,如果說 MediaWiki 做的是 C 端市場,那麼 MoinMoin 主打的則是 B 端的企業服務。

但是在開源生態裡,MoinMoin 的周邊生態就不比 MediaWiki 了,不過好在全面夠用,想了解的同學可以戳此訪問

他目前的穩定版本是 v1.9.10v2.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 已經執行起來了。

MoinMoin 已經就緒

雙擊任意一個“帖子”,可以直接進入編輯器介面。

MoinMoin 編輯器介面

點選儲存,第一條 Wiki 條目的更新操作就完成了。

MoinMoin 的第一條 Wiki 條目

點選條目中的資訊連結,可以直觀的檢視到內容的變更記錄,並執行不同版本的對比,獲取更多的資訊。

MoinMoin 執行條目對比

最後

如果你對本文聊到的 Docker 、Traefik 、Compose 還不是很熟悉,歡迎閱讀我的以往文章,補全對上述技術的認識,希望我的文章可以對你有幫助。

接下來我會繼續介紹幾種不同的 Wiki 系統的安裝配置、魔改,如果你也在考慮如何維護一套讓自己用起來舒服的知識管理工具,可以繼續關注,下回再見。

— EOF


我現在有一個小小的折騰群,裡面聚集了一些喜歡折騰的小夥伴。

在不發廣告的情況下,我們在裡面會一起聊聊軟體、HomeLab、程式設計上的一些問題,也會在群裡不定期的分享一些技術沙龍的資料。

喜歡折騰的小夥伴歡迎掃碼新增好友。(請註明來源和目的,否則不會通過稽核)

關於折騰群入群的那些事

相關文章