Why have a personal Wiki?
A wiki is an incredible way to organize thoughts and information. Various note taking apps such as Evernote are great, but the lack of easy interlinking and free revision history is a limiting factor. A wiki allows you to categorize your thoughts and ideas into many subfolders, selectively give access to parts of it to trusted peers, and also serve as a mirror of your skills and knowledge. Most importantly, it serves as a Mind Download - once information is downloaded to your wiki, it's guaranteed to be backed up, and it frees up your brain for the tasks at hand. If your wiki is web enabled like mine, you always have access to it, and can also link friends to it if needed.
I personally am a huge fan of Dokuwiki, for several reasons.
- It keeps its data in text files, rather than a SQLite or MySQL database. This allows for a very easy setup, and also easy disaster recovery and backups. Having access to the underlying text also allows one to use familiar command line tools to process the data if needed.
- It uses Markdown syntax, which is very simple and fast. Additionally, if you ever want to migrate away from it, you don't have to convert all of your pages - you simply paste in the Markdown into your new platform, which will likely support it.
- It has a diverse plugin ecosystem, with useful tools such as PDF export or eBook creators. This means you can enter your data once, and extract it in any format needed.
What should I keep in it?
Absolutely anything you want! Packing lists, favorite quotes, unique recipes, snippets of code, notes to self, ideas, a bucket list, etc!
Some examples of what's in mine:
- packing lists (camping, short road trip, long vacation, etc)
- various product keys for programs I own
- projects and associated notes (project name as a folder, various sections as the page name)
- todo lists
- favorite drinks and foods
- tour guide and list for when my friends visit
- howtos for myself and my devices
- useful tutorials for friends
How do I start my own?
A wiki is a tremendous asset, and as I use mine and enthuse to all my friends about it I get this question often. You need two things to have a wiki: hosting (where you will store it), and a domain name (for easy access). The domain name is optional, but it's much nicer to have a pretty URL rather than memorizing an IP address.
1. Pick a Host
Dokuwiki has very few dependencies. You need a host that supports PHP (and virtually all of them do), and supports htaccess files. These will allow you to have pretty slashes in the URL, rather than a ton of question marks and ampersands. Note that if your host uses Nginx, you don't even need htaccess support - just use this config.
Options for hosting:
- Digital Ocean has a private server for $5 a month. If you get the Github Student Pack, you will get $100 credit, which is enough for 20 months of hosting.
- Alternatively, find your own host and drop in the Dokuwiki install files into your public www folder.
Once you get a host, you'll need to install the wiki. This involves downloading the files on your host and setting up the name of your wiki. Detailed instructions here. Note - you can also use the official php install script if you want to avoid the command line.
2. Domain Name
This step is optional, but I feel it strongly adds to the appeal of having your own wiki. What you need to do is buy a domain name, and then set up the name servers to send users to your host. This is hard to explain in a paragraph, so here are some links to help you get started:
- Buy your domain name on NameCheap or DreamHost
- Set up your DNS records. You basically need to add an "A Record" to your domain registrar and point it to your digital ocean IP. If you use DreamHost, see their tutorial
Once you install your wiki, you might want to change the theme or enable pretty links. Additionally, I strongly suggest switching to Markdown syntax using Markdowdoku. You should also enable secure login and add the PDF export plugin. Finally, you will probably want to edit your sidebar, and put commonly accessed links there. You can do this by going to your wiki and making a new page link called "sidebar" in the root of your wiki, like so:
[sidebar](sidebar). Click on the link and add some stuff. Then refresh the page and see it appear!
Once you set this all up, you will have a hosted wiki on a host with a unique domain pointing to it. I suggest creating a backup system, so you will never lose your data. I keep my wiki in a git repo, and I have a cron job that pushes it weekly. Your solutions may vary.