There are a ton of options listed on the Awesome Selfhosted list. I’m on the search for a FOSS option that I can use to document my homelab and personal tech projects.
Right now, I’m leaning towards wiki.js
Edit: similar question
DokuWiki for simplicity. Everything is a text file that can just be copied to a web server. It doesn’t even require a database. And since all the wiki pages are plaintext markdown files, they can still be easily accessed and read even when the server is down. This is great and why I use DokuWiki for my server documentation as well.
This. For exactly this reason.
I was going to say that the big downside to that would be a lack of any kind of version control, but I guess if you need that you can always use git and just commit changes there and (optionally) push them to a repository somewhere.
Doku still has the typical wiki style version control. It uses other text files to keep a changelog without cluttering the markdown file.
I run a Bookstack instance which works quite well for me.
I did a similar inquiry a few months ago. I tried DocuWiki and Wiki.js. Ended up with Wiki.js. It’s very easy to setup with docker-compose. Everything is stored in Postgres but it also exports to the local filesystem in Markdown. Its advanced built-in search is pretty good.
I just spent a week evaluating all the popular choices to document an overlay network I’m standing up. All I want is a simple markdown interface to write notes in. My goal was something with a very simple UI, markdown, and very light weight.
MediaWiki, Bookstack, and WikiJS (or JSWiki) were good but they were too much for what I needed. I ended up with stumbling on gollum and really like it. It’s very very simple, fast, and clean. I wrote a one line cronjob and now I’m backed up to gitlab.
Bookstack is really nice and user friendly. It’s probably one of my favorites.
Dokuwiki is simple and stores files in plaintext.
I haven’t used wiki.js much but I’ve heard good things about it too.
Another option if you don’t need to share the wiki with anyone would be a note tool like Trilium. It has built in support for stuff like mermaid or excalidraw diagrams.
Don’t forget to setup backups for whatever wiki you do go with, and make sure you can restore them when your wiki is broken ;)
I’m administering a wiki.js instance. Despite it being written in node, it’s a pretty nice wiki with a lot of modern features builtin. The only other wiki I’ve ever setup and used was mediawiki, which is obviously a complete legacy php clusterfuck where you need add-ons (which are terrible to install and configure) for everything.
I really like WikiJS but its development is stuck for a long time now. No v3 in sight… Sadly
I am using latest v2 for now, but I am looking for alternatives. Pro for WikiJS: S3 Backend, easy to use, WYSIWYG-Editor
Outline is a hell to selfhost, even if it starts, login via Email / Password is not enabled by default. You need to login with Github or similar… Never again
This is my experience with wikis so far.
I’m probably the biggest simpleton in this thread, but I was just looking at this earlier and TiddlyWiki still seems like the easiest of the easiest. It’s literally just an html file that requires pretty minimal setup to get going. Nothing else seems to even come close. I’ve been using it for a couple of years as a sort of internal departmental job aid, just basic information for our group and it’s pretty straight-forward.
Recently went through this. Needed a quick and dirty knowledge repository for work. Ended up running bookstack, wiki.js and dokuwik in docker containers, building the same wiki in each and then messed around with it. Landed on bookstack and wiki.js, bookstack because I liked the end user UI and wiki.js because of the backend. I think most my co-workers use the bookstack one.
Bookstack looks really cool, considering it for a project at work but I don’t like how you can’t have pages outside of books. We’re looking to put together a general knowledge base that could span many different types of equipment and manufactures. For that reason I’m leaning towards wiki.js due to the search and tag browsing, but basically planning on doing the same installing those same 3 to check them out.
Another thing with bookstack is that if your local IP changes for any reason, it breaks all the images and it is pretty frustrating to get them working again. They added a command to try to fix this, but I could never get it to work correctly.
I ended up switching to wiki.js and haven’t had a single problem since, but I do miss the super sleek look of bookstack sometimes.
I previously used WikiJS, but since about a year ago I switched to Grav.
The really nice thing is not having an additional database anymore. It’s really just markdown pages, config files and php plugins.
By default it looks like a blogging platform, but with the learn2 theme it also works pretty well as a documentation website. The official docs are written using that theme.
I wasn’t completely happy with the defaults though so I did some modifications for my own wiki. Some limited knowledge in HTML, CSS is required and PHP or Javascript don’t hurt either.
You can find the theme, plugins and pages in my repo as well if you’d want to use any of it.
deleted by creator
Gollum. Hit integration is required if you value wiki content.
I’ve been using Wiki.js since I asked this question a few months ago. I’ve been pretty happy with it. Stores data in text files using markdown and can synchronize a number of backends. I’ve got mine syncing to a private github repo.
Thanks! I used the search function but it wasn’t showing up for some reason. I’ll link to it in the OP.
Np. I wasn’t trying to imply anything. I asked a different question, it just had overlap so I thought you might find it useful.
Likewise :)
Honestly, for personal use I just switched to straight Markdown that I edit with Vim (w/ Vimwiki plugin) or Markor on Android and synchronize with Syncthing. Simple, low effort, portable, does enough of what I need to get the job done.
And if I wanna publish a read-only copy online I can always use an SSG.
I use raneto. Built using js. Flat file and uses markdown.