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.
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 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.
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.
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 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.
Gollum. Hit integration is required if you value wiki content.
Trilium for personal use cases. It is very easy to host, edit, and navigate. Public sharing is easy too.
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 :)