Ask HN: Self-hosted lightweight wiki engine suggestions? (MoinMoin alternative)
I have quite a dilemma: since 2008 I've been running a personal MoinMoin wiki instance, which I've used (up until 2015-2018) for everything from notes, bookmarks, knowledgebase, publishing, presentations, projects, basically almost everything involving transcribing thoughts into words and research; however since 2015-2018 I've transitioned away from it to a custom Bash script that just ties together `dmenu` / `rofi` with `howl` / `sublime` and streamlined my workflow further (although dropping any wiki syntax and web integration); unfortunately by switching to a "local" workflow, none of my snippets and other useful links were "shareable", thus I thought to revisit the wiki engine landscape of 2020 and see what options are out there.
And unfortunately I can't quite find a suitable MoinMoin replacement, so I thought I'll ask the HN community for advice. [See my comment bellow for what I'm searching for.]
As a sidenote, I was quite disappointed, as it seems that wikis have (except for a few notable cases like GitHub or Wikipedia) have been largely replaced by Wordpress clones...
Thanks for all the feedback!
13 comments
[ 3.0 ms ] story [ 37.1 ms ] threadNow I know that there are many wiki engines, from dokuwiki and MediaWiki up to Bookstack and Wiki.js, however none of them fulfill the following requirements:
* first and foremost it has to use the file system to store the page content; one file per page (or per page history if it supports revisions); this excludes databases, including embedded ones like SQLite or the like; (basically I want to be able to cobbler together `find`, `grep` and `sed` to extract what I'm searching for if I want;)
* secondly it has to be lightweight enough so I can run it on my laptop; thus fiddling with NGinx and Apache is sub-optimal, as is having another 20-worker-process behemoth (I have enough Electron-ware already)... (for context, in my previous MoinMoin setup, I actually had two instances running, one on a public server and one on my laptop, and I've synchronized the files between them;)
* if possible it should come in a single binary (e.g. Go, Rust or C/C++), or at least be self contained (e.g. virtual environment); also NodeJS is out of the question just because I don't believe I'll be able to deploy it 5 years from now when the project is dead... (and no, I don't want to run a cluster of containers or even a single VM for my wiki... it's a wiki after all, not a web-scale search-engine with NLP built into it...)
* the UI shouldn't be more complex than it needs, thus a large text area for editing the page (without an WYSIWYG editor), lacking syntax highlighting, and not integrating with Jupyter Notebook are actually a plus; :)
* support for ACL's (for keeping sensitive pages private) would be a plus; (MoinMoin had the best ACL solution from all the wiki's I've seen so far;)
* (obviously, it must be open-source;)
So in the end why not just go with MoinMoin? Because I have the feeling the project is dead, and the stable version (1.9) seems to support only Python 2.7, which has just been EOL-ed and I believe it will slowly start to phase out from distributions repositories... Thus I wanted to see if there are alternatives...
If the upstream project is dying, you might not only do yourself but others a favor by reviving its codebase.
Therefore if I were to invest development time into a wiki engine, I would definitively go with a simpler Rust / Go based implementation from scratch.
In fact this is another reason why I'm looking for alternatives, namely I want a "simpler" wiki.
From the Go land we have: https://github.com/lucas-clemente/goldfish and https://github.com/cooper/quiki (the later seems more "polished").
However this direction has a few important drawbacks:
* lock-in into a specific IDE / editor and syntax; (even if all claim to use "Markdown", in fact they add "extensions" that prevent migration from one wiki to another;)
* its not exportable / editable from a browser;
And the last one is what I miss from my current setup: the ability to export (parts of) my notes on the web, and the ability to edit them when I'm on the go and don't have my laptop.
1: https://zim-wiki.org/
However there are a couple of rough edges like for example:
* the builtin editor doesn't seem to have an option to edit the "raw" markup; it's always in WYSIWYG mode;
* according to the documentation [https://zim-wiki.org/manual/Help/Wiki_Syntax.html] the wiki syntax is quite trivial (nothing bad in that), however it seems to be a strange combination between Markdown and a few other wiki syntaxes; thus migrating to and from Zim would be an issue; (I see that there is an Markdown export option, however just like in case of JPEG this is a lossy conversion, and after a few "rounds" the markup could degrade;)
* the builtin web server seems to be quite rudimentary; (perhaps there are plugins out there that solve this;)