We used Dokuwiki in a similar situation. It's been a few years since I last used it (new client uses confluence) but I remember it was super easy to connect external tools. If your script can output text, Dokuwiki can display it :)
I have a docuwiki running on RPi at home (files are stored on a USB-connected HDD) as a personal knowledge management system. It doesn't even need any DB, just stores it in text files. Took just a few minutes to set up. Doesn't get any simpler (other than using plain text files on local of course :)
Is this a good choice for a company? These sorts of "hacker" solutions inevitably fall flat because people want a bunch of bells and whistles and don't mind things like never being able to find anything (arguably the single most important feature of a wiki) or being able to integrate their documentation with other systems.
It integrated well with our LDAP server. Its search is great, and everything is plain text so you can do whatever you like. It has a rich text editor but you can also edit plain text.
Dokuwiki has been my go-to solution for docs everywhere I've been for the past ten years or so unless they already have a (usable) wiki in place.
Trivial to set up. Trivial to migrate to, and from (should you ever need to). Doesn't need a database. There are lots of plugins available and it's sooo easy to write plugins for. Even if you hate PHP.
I've stuck with Git based markdown wikis. Nice thing is that when the web app you were relying on enevitably dies the data format is portable.
Currently using Gitea's built in per-repo wiki as a general wiki after we migrated from Gitlab to self hosted Gitea. As a bonus there's no maintenance burden, Gitea itself has super low maintenance burden, single portable binary (I use an APT repo), single config. Latency of Navigating Gitea is also instant by comparison to Gitlab which was driving us nuts it's so slow.
I tried to run Wiki.js in the past but it's really buggy and has a lot of spinners/loading pages for what is supposed to be simple html pages so i've been looking for a good self-hosted alternative since.
I love how there are so many options in the HN comments, and some of them look really good as well, however I still struggle to believe that none of them are self-contained. All of them require a a redis container, a postgres container, a frontend proxy etc.. for a simple wiki? can't the wiki run it's own redis-cache internally, maybe run with sqlite? Have all the oauth/proxy stuff optional?
In the meantime i've been running with mkdocs but since it's a site generator but it's not really user friendly as you need to redeploy to see changes, etc..
You're looking for Dokuwiki. It doesn't even need a database; pages are stored as plain text files on disk. Its appearance is a little dated, but it seems to work very well.
MediaWiki. Is there something wrong with the solution powering Wikipedia? It’s very simple to set up, and you can one-click deploy it on DigitalOcean for $10/month.
I gave MediaWiki a shot just now but it's seriously lacking Markdown support. Seems that there's a plugin for it but that's a no-go in the docker setup, would need to make my own container because it depends on some php package that doesn't come in the default image. Really a shame the docker setup isn't made to be extensions friendly.
You're right. I was going to tell you about what a nightmare infoboxes are, but my experience is clearly out of date. I guess I'm used to a large public failure killing a project. I'm extremely impressed by the experience now and I shouldn't have commented without looking into it more.
Can highly recommend outline (https://www.getoutline.com/). You can self-host or opt for the hosted version. Built and maintained by one of the linear devs.
I've used Wiki.js for a while but was always annoyed of the loading times. It's just one of those applications that render everything in the client.
So I haven't stopped looking for other applications and when I tried BookStack I knew I found my solution: Loads amazingly fast, while running in the simplest environments as it's PHP.
Previously I have also used DokuWiki, which was also simple but I didn't want to write in Markdown, and especially explain it to others.
I cannot recall why i did not go for wiki.js myself, I tried, but I kept looking. Ended up with https://docmost.com/ and I've been quite happy. It's probably more equal to Notion then Wikipedia, but as a internal knowledge base it seem to be hit the right spot in terms simplicity and features.
I can't believe at this day, many products don't care about mobile viewing.
I thought it makes a big sense to write documents on PC and then view it elsewhere out there but developers don't seem to care about that usage.
Docmost makes tables completely unreadable on mobile having words wrap at the width of the device, especially when set as full-width which actually makes it even tighter for some odd reason.
Affine doesn't even support mobile at all and the GitHub issue about it is starting to age well.
AppFlowy does it the best of the bunch but it requires an app and it has minimal tablet support having only mobile app view than a native tablet view but at least it's usable having tables actually horizontally scroll as anyone would expect.
Outline isn't any better and a small test showed some weird behavior under mobile.
As much as I hate it, I think Confluence is the right choice for startups. (Or Github Wiki if you can stomach it). It's free to start, and you get 10 users. By the time you have 10 people who need access, (and you can export PDF's of pages if you have one off sharing to do) you pay $50/mo. If you have 10 employees $50/mo is pocket lint.
My problem with Confluence is that I want a wiki primarily to be able to find information, and secondarily to store information, and I can never find anything in Confluence. The search function seems to be optimized for maximum frustration.
I cannot for a minute believe that search over a few hundreds/thousands of documents is anything less than a solved problem these days. Confluence is another level of bad, but I'm sure some software does search well.
I agree. If google can index the entire internet, there's no reason confluence can't index 10 pages by title in the length of time it takes to use the search.
But, my experience is that even when search is good, you need the right query. Take onboarding instructions. Do you search for "new hire", "initial setup", "setup guide", "engineering onboarding", "programmer first steps"?
Or, do you send a link in a welcome email to the right page, and have it pinned on the home page of your project?
Honestly, I think confluence would be better _without_ search.
I don't always want to find a page in response to something else. If I'm looking for a decision document I wrote a year ago, how am I going to do that without search?
That's really surprising. Any idea if it was Confluence self-hosted vs cloud?
We have a pretty substantial Confluence Cloud and don't see the "search doesn't work" problem. Tangent: we have people who browse, and people who search, and ne'er the twain shall meet, but that's a different problem in page structure, conventions, tags, whatever.
It's Confluence cloud. I've looked for documents I myself have written, using the keywords I knew were in the title, and got irrelevant random pages. It's ridiculous.
This was my experience as well except even worse. When my employer was acquired by evil mega corp ISP, they took away our mediawiki and replaced it with confluence. But they also didn't give us write access and instead had a new technical documentation team doing it except they were just uploading Word docs to Confluence. We couldn't search for anything in the docs but even searching for article titles failed so we all just had to keep bookmarks to what we needed.
> We couldn't search for anything in the docs but even searching for article titles failed so we all just had to keep bookmarks to what we needed.
My experience with _every_ knowledge base has been that this is the solution. My current team has confluence pages pinned to slack channels which link to the other necessary pages.
I'm rather curious what you would put as worse options, because Confidence is by far the worst wiki I've ever touched. After well over 20 years of touching various wikis, professionally and out of curiosity... but they're not really a passion of mine so I suppose that isn't saying all that much.
The only reason I would even remotely consider it is if I already had gigantic investment in Jira, and even then I'd strongly consider doing something else and writing up a small sync tool to keep task statuses updated.
> I'm rather curious what you would put as worse options,
Anything that requires time or money for less than 10 people.
Notion has similar problems (search sucks, performance doesn't scale), but starts costing once there's more than one person. You go from £0 to £20/mo for two people, and the chances are that at two people you're on ramen money so you don't want to be spending on... anything. Mediawiki and co require a VPS and auth/vpn/management. That's a distraction you don't need for the first 6-12 months of working at a startup. If I as a startup CTO/founding engineer spend 2 hours setting up mediawiki to spend £60 in a year on, the payback vs confluence or github wiki (which is running in seconds and is free) is when you scale to 10 people. Move to something when you have an actual need for it. By the time you're spending $64/mo on confluence users (or £100/mo on notion - sorry for currency switch but confluences pricing is only in USD for me), you're spending 10x that on payroll _management_. It's just a nothingburger.
Those hosted media wikis aren’t free though. That’s the big difference. Spending $60/year on media wiki hosting is an avoidable expense and confluence costs nothing until you have 10 people.
I’m not saying it’s 100% of startups, but unless you have a good reason not to, I think confluence is the right choice.
yea, hosted-mediawiki was my immediate thought. cheap or free, basically the same kind of permissions/etc as any other.
and 100% agreed, self-hosting is usually not a good choice for a small company, and cost is basically not an issue beyond ~10+.
Notion is an interesting one. I wouldn't personally call it a wiki, but I can kinda see why some would. but the performance and cost and and etc combined with feature-lock-in that Notion has would put it pretty far down the list for me too (though probably still well above confluence), and possibly completely rule it out (which confluence avoids).
It takes very little resources on my Raspberry Pi and is built to be extensible and safe through its transparent way of storing wiki pages as markdown files.
Why not just use Google Drive or Office 365? You probably have one of them anyway, people know how to use it, and all the access control features are built in. Plus you can easily export all your docs and just put them on an ftp server in the worst case.
I'm kinda sad that there doesn't seem to be a thing that is basically Wikipedia-like but with Google Docs-like shared editing as a "canonical" open source offering in this space. Notion is too much stuff!
In my "one day projects" file is essentially this. Adding CloudFlare durable objects as a proxy in front of Dokuwiki's API to make editing realtime collaborative.
I've been working on a plugin (Relay) [0] for Obsidian that makes it real-time collaborative. Obsidian has the perfect user experience for markdown wiki-style notes, but it was lacking the realtime collaboration. We use Obsidian+Relay internally every day and it is so so much nicer than Confluence, Notion, or Google docs -- plus it is super extensible so we can use additional plugins for Claude, mermaid.js, etc.
Especially for small startups, https://typemill.net can be a handy solution, since it is very lightweight and can also produce handbooks in PDF format.
All in all, this guide is pretty small. More of a solution overview than a guide. I would have appreciated if the steps in the "Making It Production-Ready" section were expanded upon, for example.
I looked at wiki.js and I don't understand why you wouldn't just install Mediawiki. It only takes a few minutes and wiki.js doesn't look any more sophisticated at a glance.
I agree. MediaWiki is a solid solution and is very easy to setup. You can one-click deploy on DigitalOcean for $10/month and just enable daily snapshots. You can even use a managed DB if you want.
You can one-click deploy on DigitalOcean for $10/month
Am I the only person left who simply has a web server? Untar Mediawiki, edit a few config variables, run an established database script, and off you go. Maybe I'm wildly out of touch, but I don't see why everything has to be a container or a monthly paid service around here.
I get it for something like an email server, where misconfiguration could lead to your server being a zombie, but I don't get it for something like a wiki.
Container makes it easy to update. I don't need to go read the instructions about which files I need to replace or what to do about modified files. If it's built properly to run from a container and uses sane version numbering, all I need to do is pull the new image and restart the container.
There are still plenty of not sane container builds that don't make it easy. If I need to checkout a git repo and mount a path into the container it's not sane. Pulling an image and starting a docker-compose should be all that's needed.
Actually I’m on your side there. I have three servers in the garage on a 250mbit private fibre link… that I never use. I want to get my backside in gear and get the ProxMox cluster running a bit of web infrastructure and then forward to it on the Mikrotik that terminates the fibre.
The only reason I recommended DO is it’s just simple and not too expensive. But your point is fair.
https://www.dokuwiki.org/dokuwiki
EDIT: I decided to try dokuwiki in Podman, works nicely as long as you run:
https://www.redhat.com/en/blog/debug-rootless-podman-mounted...reply