Replacing Confluence: OutlineWiki

Some general mumblings about switching my Wiki of choice from Confluence Server to OutlineWiki.

Replacing Confluence: OutlineWiki

The Background

As many will be aware, Atlassian announced that Confluence and Jira Server will be discontinued and users on the server licences will need to move to either Confluence Cloud or Confluence Data Centre. Both of these options either come with major changes to functionality, or significant license cost increases (or both). As a result, I have decided to decommission all of the Atlassian Server infrastructure that exists within my environment.

I've spent a lot of time since the announcement researching the alternative solutions that are available to replace the Confluence Wiki tool. This includes tools such as Azure DevOps' Wiki Functionality, Wiki.JS, BookStack and several others. I compared each against my key wants and needs, which included:

  • Good Mobile Support
  • Live Collaboration within the Page
  • Integration with an external Identity Provider for Single-Sign-On
  • Proper Access Control and Access Management
  • Self Hosted (ideally in a Docker Container).

Going with Outline

Given that many of the selfhosted community are in a similar position to me, there are regular posts on reddit from users looking for equivalents to Confluence. It was on one such post where I learned about OutlineWiki. I was keen to have a closer look as on the surface this appeared to be perfect. A self-hostable, easily integrated and well-featured Wiki tool.

Outline met each of the wants above and I was instantly impressed with some of the key design decisions made by the engineering team. This includes the requirement to integrate with an external IDP rather than managing any users within the solution. I was also impressed by the out-of-the-box collaboration functionality, that worked very well and took minimal configuration.

I've deployed outline using Docker (along with most of the services in my environment). It's stupidly simple to get set up and the documentation and example confiig files are well explained and hand-hold you through the process. The key constituent parts of the default solution are:

  1. Redis for Caching
  2. PostgreSQL for DB (although I'd really like it if MySQL was supported too!)
  3. An S3 Serivce (I use a self-hosted Minio cluster).
  4. An external IDP

You can see how I've deployed this amongst a few different networks to support better isolation and trust between the components in the diagram below.

Basic solution Architecture for a docker-based OutlineWiki deployment

The User Experience

All of my users really like Outline and have taken to it like a duck-to-water. If anything, they find it signficantly easier to use than Confluence and like the improvement in speed, collaboration and ease of administration. For example, rather than formal "Spaces" as with Confluence; Outline uses "Collections" that not only group content together, but also act as the access management boundary.

Creating a collection is stupidly simple, specify what access you want to provide by default and if you are going to allow documents to be shared publicly. Once you've done this, you are ready to go! Once you've done this, simply get writing. The tool will guide you through creating content, nested pages etc. and sorting out any wider integrations within the pages.

Example Page and General UI

Inserting rich content works like many of the other tools, simply type a / and then a list of options pops up. You'll see not only out-of-the-box formatting like headings, tasks etc., but also an incredibly long list of wider content integrations such as Google Docs, Diagrams.net, Spotify, Tello and many others.

Closing Thoughts

I've been really impressed with Outline. I am not only impressed by the user experience, but also the ease-of-management and it's stability. Since deploying the initial solution, never had major downtime (that wasn't my fault at least). I now use outline for all sorts of use-cases including my personal documentation, shared shopping lists with the other half and wider project documentation for the various bits and pieces I'm working on at any one point.

I could not be happier with my migration away from Confluence, Outline is much faster and simpler to manage, and most importantly Open Source. No longer do I need to fund the maintenance or external plug-ins as everything I now want and need is available right out of the box. I'm so impressed, that I will shortly be migrating furbTECH Docs away from bookstack and over to Wiki to make use of the improved search and collaboration functionality. Keep an eye out and be prepared for some URLs to change!