I self-hosted a personal wiki with Markdown and search support

1 week ago 1

There are a variety of benefits to creating a personal wiki, which can be used for keeping records, tracking projects, and writing up documentation. Luckily, if you're a privacy or self-hosting enthusiast, you can self-host your own wiki with tools like BookStack.

I explored a few of the options out there and decided to try out Wiki.js to host my own personal wiki, creating pages for personal records as well as some work-related information.

A person holding a Raspberry Pi 5

Related

I enhance my productivity by self-hosting these 5 services on my Raspberry Pi

Thanks to Docker, you can build a solid productivity suite on your Raspberry Pi

What is Wiki.js?

A tool for both personal and public wikis

Wiki.js is open-source software that you can self-host and allows you to create a wiki with navigation, linking, built-in search, and asset-hosting. You can choose to point Wiki.js to a website that you own; however, you can also just keep it on your local machine or server if you want to keep the wiki private.

Like a typical wiki, you are able to track the revision history of the pages that you've added, as well as add collaborators that you want to log in and contribute. This makes it great for software documentation, but also makes it simple to use for creating other types of record-keeping.

In terms of storage, Wiki.js supports using your local machine or network to save files, but also Git and enterprise cloud storage.

Wiki.js features

Create pages in the way that suits you the best

editor choices in wiki js

In addition to its wiki features, Wiki.js is also reasonably flexible when it comes to creating pages. While I used the visual editor because it is the most easily usable for someone who spends all day in a CMS, it also supports a Markdown editor, raw HTML, and an AsciiDoc editor. This flexibility makes it popular among those looking for a wiki solution, since they can use the interface they're most comfortable with.

If you change your mind about which editor you want to use, Wiki.js allows you to convert an existing page to one of the other editor options. However, you can't really switch back and forth between them and see the exact same rendering of content, since some editors differ slightly in terms of what padding they include. For example, while I could insert a table and center it in the HTML editor, switching back to the visual editor removed this center attribute.

choosing search engine in wiki js

When it comes to the search tool you use with your wiki, there are also multiple options to choose from. While I went with the basic database search engine included in Wiki.js, you can also choose options like AWS CloudSearch, Algolia, Azure Search, PostgreSQL database search, or Elasticsearch.

While Wiki.js is very customizable, I wouldn't necessarily recommend it for all types of personal knowledge or project management if you're used to using tools like Notion or Obsidian for tracking daily tasks and want to use tools like responsive checklists and Kanban boards. But it's a great solution for creating records that aren't in flux as much.

Creating my personal wiki with Wiki.js

A home for personal and work projects

What made me interested in Wiki.js is its user-friendly interface and easy setup. While it took some time to get my wiki functioning, I was able to add a variety of pages and hubs to keep track of things like style guide rules for the sites I write for, as well as records on my pets.

When copy-pasting from existing pages on the web, Wiki.js's visual editor is able to parse most of the content. This made it ideal for quickly copying and formatting style guides, while also providing a useful way to keep an extra record of the documentation for the apps that I self-host.

While I would've achieved more customization by directly editing the HTML code, I was satisfied with the options available in the visual editor. This included the ability to upload and insert media assets, which I did when creating headers for my home page and pet records. The page linking tool also made it easy to link to different pages of my wiki, while headers were automatically used to create a table of contents in the navigation sidebar.

The functionality is great for an open-source tool, especially considering my lack of coding skills. For those who are more familiar with code, the ability to insert code blocks seems like it could be incredibly useful. You can also insert CSS and JavaScript into the Administration panel for more customization.

Overall, I found Wiki.js to be user-friendly and incredibly responsive. But looking at the Wiki.js blog, I'm also excited about the features that the developers plan to add in the 3.0 launch, including a block editor.

Reasons why I use Obsidian as PKM

Related

I'm looking forward to Wiki.js's future development

After using Wiki.js for a few days, I'm incredibly impressed with what the developers have been able to achieve. Even for someone relatively new to self-hosting, the setup was intuitive without many hurdles. While my wiki is private and therefore doesn't need multi-user permissions, the inclusion of these features means that that functionality is available should I ever choose to make my wiki accessible to more people.

In the meantime, I look forward to seeing what Wiki.js has in store and adding it to my list of favorite self-hosted apps.

wiki-js-logo
Read Entire Article