使用 Docker 搭建你的Wiki(MoinMoin)
本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载、或重新修改使用,但需要注明来源。 署名 4.0 国际 (CC BY 4.0)
本文作者: 苏洋
创建时间: 2019年02月02日
统计字数: 2632字
阅读时间: 6分钟阅读
本文链接: https://soulteary.com/2019/02/02/build-your-own-wiki-with-docker-moinmoin.html
使用 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、编程上的一些问题,也会在群里不定期的分享一些技术沙龙的资料。
喜欢折腾的小伙伴欢迎扫码添加好友。(请注明来源和目的,否则不会通过审核)
- 使用 Docker 搭建你的Wiki(TiddlyWiki)
- 使用 Docker 搭建你的Wiki(DokuWiki)
- LDAP基础:1:使用docker快速搭建OpenLdap服务器
- 使用 Docker 搭建 Java Web 运行环境
- 企业级Docker Registry —— Harbor搭建和使用
- 使用docker搭建nfs实现容器间共享文件
- 使用 Docker 搭建 Laravel 本地环境的教程详解
- 使用docker-compose搭建可以扩展的Web Application
- 使用Docker搭建GitLab
- Docker系列08—搭建使用私有docker registry
- 使用docker搭建前端开发环境方法步骤详解
- 使用 Docker 搭建 Java Web 运行环境
- 使用 Docker 搭建 Java Web 运行环境
- 如何使用Weave以及Docker搭建Nginx反向代理/负载均衡服务器
- Ubuntu 16.04安装使用--Ubuntu16.04下基于Docker的Caffe-GPU版本环境搭建总结
- Centos7使用docker搭建gitlab服务器
- 使用Docker搭建Apache+PHP+mysql+ssh环境
- docker私有仓库搭建 使用Portus管理docker registry 私有仓库
- 使用docker搭建公司redmine服务器
- 【转】使用Kubeadm快速搭建Kubernetes(docker)