使用 Docker 搭建你的Wiki(MoinMoin)

栏目: 编程工具 · 发布时间: 6年前

内容简介:前面介绍了三款不同的 RSS 系统的快速搭建使用,接下来我将演示几种不同的 Wiki 系统,同样是借助 Docker 和 Traefik 进行快速搭建,本篇是第二篇,MoinMoin。如果你有阅读过我之前写的文章,那么参考本篇文章将文章搭建起来,应该只需要3分钟或者更少,如果你没有看过,那么可以点击本文相关的文章标签,阅读过往的文章。MediaWiki 是一款开源并且支持免费使用的软件,由Python编写,同样天生跨平台,并被广泛使用在各种知识社区内。

前面介绍了三款不同的 RSS 系统的快速搭建使用,接下来我将演示几种不同的 Wiki 系统,同样是借助 Docker 和 Traefik 进行快速搭建,本篇是第二篇,MoinMoin。

如果你有阅读过我之前写的文章,那么参考本篇文章将文章搭建起来,应该只需要3分钟或者更少,如果你没有看过,那么可以点击本文相关的文章标签,阅读过往的文章。

关于 MoinMoin

MediaWiki 是一款开源并且支持免费使用的软件,由 Python 编写,同样天生跨平台,并被广泛使用在各种知识社区内。

当然你可能会觉得陌生,但是当说提及几个站点之后,你可能会大呼原来如此:

除此之外,还有 GNOME、WineHQ、ID3、GCC、GRUB 等一堆大名鼎鼎的软件都使用了它。

使用 Docker 搭建你的Wiki(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 已经运行起来了。

使用 Docker 搭建你的Wiki(MoinMoin)

双击任意一个“帖子”,可以直接进入编辑器界面。

使用 Docker 搭建你的Wiki(MoinMoin)

点击保存,第一条 Wiki 条目的更新操作就完成了。

使用 Docker 搭建你的Wiki(MoinMoin)

点击条目中的信息链接,可以直观的查看到内容的变更记录,并执行不同版本的对比,获取更多的信息。

使用 Docker 搭建你的Wiki(MoinMoin)

最后

如果你对本文聊到的 Docker 、Traefik 、Compose 还不是很熟悉,欢迎阅读我的以往文章,补全对上述技术的认识,希望我的文章可以对你有帮助。

接下来我会继续介绍几种不同的 Wiki 系统的安装配置、魔改,如果你也在考虑如何维护一套让自己用起来舒服的知识管理工具,可以继续关注,下回再见。

— EOF


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

深度探索C++对象模型

深度探索C++对象模型

斯坦利•B.李普曼 (Stanley B. Lippman) / 侯捷 / 电子工业出版社 / 2012-1 / 69.00元

作者Lippman参与设计了全世界第一套C++编译程序cfront,这本书就是一位伟大的C++编译程序设计者向你阐述他如何处理各种explicit(明确出现于C++程序代码中)和implicit(隐藏于程序代码背后)的C++语意。 本书专注于C++面向对象程序设计的底层机制,包括结构式语意、临时性对象的生成、封装、继承,以及虚拟——虚拟函数和虚拟继承。这本书让你知道:一旦你能够了解底层实现模......一起来看看 《深度探索C++对象模型》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

MD5 加密
MD5 加密

MD5 加密工具