Hacker News new | past | comments | ask | show | jobs | submit login
How to setup self hosted wiki for your startup (themythicalengineer.com)
124 points by sks147 10 days ago | hide | past | favorite | 83 comments





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 :)

https://www.dokuwiki.org/dokuwiki

EDIT: I decided to try dokuwiki in Podman, works nicely as long as you run:

  podman unshare chown 1000:1000 /path/to/wiki/data
https://www.redhat.com/en/blog/debug-rootless-podman-mounted...

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.

Nice, thank you!

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.


Plus phenomenal pandoc support enables conversion from many formats to DokuWiki

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.


The software mentioned in the article, Wiki.js, is a Git-based system. I've been using it for years and have all my pages in a Git repository.

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.

MediaWiki doesn't have full WYSIWYG. The Visual Editor is nice, but doesn't support templates.

What do you mean by this? You can use templates when editing pages with mediawiki's visual editor.

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.

I've had MediaWiki (which is Wikipedia) run fine on its own in the past with minimal requirements.

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.

Outline maintainer here, happy to see the rec and can answer any questions

Outline looks great. Thanks for creating it. Few questions:

1. Does it support rendering OpenAPI json/yaml?

2. Also it seems like it supports Draw.io via public URL. That's a no go. Can it support draw.io diagrams via attachments?

3. Google drive support is nice. Do you plan on supporting OneDrive as well?


1. No plans, that's an entirely different thing – check out https://scalar.com

2/3. Not currently but anyone could add support for such things


Thank you for Outline, I used to self-host it for a team and it was a breeze compared to Google Docs or confluence.

Does it support the use case of publishing the wiki as a public documentation site, while allowing authenticated users to edit?


It does, that's how it's own docs are put together –

https://docs.getoutline.com/s/guide


Another vote for Outline - it works really well, has „multiplayer“ support (although that is only a nicety in my book), is constantly improved.

Also, Dokuwiki is nice, if a little dated on the UI side of things.


Agreed on outline, though their lack of local auth is kinda annoying. But Authelia works pretty great.

Replacing Confluence with Outline today, thanks for this recommendation!

We tried many different wiki softwares before settling on Bookstack.

https://www.bookstackapp.com/


It supports various authentication methods including SAML and openid connect. No SSO tax here.

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.

https://www.bookstackapp.com/


I tend to abuse fossil for it's wiki. Mainly because it is zero fuss to setup.

https://fossil-scm.org/home/doc/trunk/www/wikitheory.wiki


I would have liked that too, except that I can't get oAuth integrated with fossil.

That would solve so many problems.


Sit it behind oauth2-proxy?

Never knew about this. Have to give this a try. Would this work from the command line as well? For e.g. while doing `fossil clone`?

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.


Docmost founder here.

Thanks for reporting the mobile table issue. I will have a look at it.

The fullwidth issue on mobile was recently reported. It will be fixed soon.

I appreciate your feedback.


Authentication options are very limited with docmost, compared to other offerings. There is only one. Locally stored credentials.

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 completely agree with you. I’ve literally searched for page titles and had confluence tell me there’s no results found.

I’ve found this problem exists (even though it’s worse with confluence) no matter what you use, and the solution is a better hierarchy


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.


Agreed. Overall I find Confluence an anti-pattern and just obnoxious.

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.


> Mediawiki and co require a VPS and auth/vpn/management

There are companies that offer mediawiki as a SASS app. You can self-host if you want but you by no means have to.

I'd agree that most startups probably dont want to bother with doing their own setup as they have more important things to focus on.

[Disclaimer, im a mediawiki dev]


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.


Do you really need a wiki if you have less than 10 people?

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).


> As much as I hate it, I think Confluence is the right choice for startups

Confluence is so bad it reminds of that meme: "I expected nothing and I am still dissapointed".

It's so bad I would be happy to use github wiki over it, even if my employer wasn't using github for version control.


Github wiki is fine - the problem for me is that I work in teams and on products where a sizable amount of the team don't use github.

> is quite lightweight and can run smoothly on a modest server with:

>4GB RAM

> 2 vCPU

Crazy what is considered modest now a days.


For PHP/Laravel, there is an excellent wiki tool that I have used:

https://www.bookstackapp.com/


Unfortunately they do not support PostreSQL... But their transclusion support is excellent.

If you're not averse to PHP, why wouldn't you use MediaWiki?

I ended up building my own Wiki in Go at some point, although I use this mainly for my own smaller purposes. Description and demo instance at:

https://wiki.gnoack.org/UkuleleWeb

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.

Now that Google docs has tabs...

does it have vertical tabs within horizontal yet?

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!

Basically want Confluence but faster.


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.

[0] https://obsidian.md/plugins?id=system3-relay


Why not use Wikipedia's software? Is it too cumbersome?

MediaWiki on a VPS is comfy. Installation is easy. Plus you get to make the original wiki skin the default for the authentic wiki experience.

Alas, the actual original skin doesn't get much use anymore (the one at https://nostalgia.wikipedia.org/wiki/HomePage )

Think the popular tools out there like Notion often work well enough, the ease of use outweighs it's higher price for teams that look to expand.

If you want a free markdown based public wiki use Astro's Starlight.

A cheap private wiki can be made with Obsidian.


I like the idea of having a wiki be mostly serverless -- like lambda backed by s3. A little searching found this:

https://github.com/raboof/serverless-wiki


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.

+1 for wiki.js, I have it and Gogs (git server) running on my Arch VM. Very lightweight services, and setup was a breeze for both.

Another alternative that solves similar issues is Docusaurus: https://docusaurus.io/

you’ll need to increase the resources to atleast

"Atleast" isn't a word.

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.


and subscribe to yet another security announce email, i hope

You seem to be copping alot of flak for that comment



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: