EN
Log in Create an account

How to deploy Wiki.js on Saplo (company documentation)

Wiki.js is an open-source knowledge base with a Markdown/WYSIWYG editor, page versioning, and a search engine. We show you how to deploy it on your own Box and organize your team's documentation.

Grzegorz Kalmus ·

Onboarding instructions in Google Docs, procedures in Word files sent via email, server passwords in a notepad that only one person has - every growing company sooner or later encounters this mess. Wiki.js is an open-source knowledge base with a Markdown and WYSIWYG editor, page versioning, and a built-in search engine that you host on your own Box instead of paying for another cloud account. Below is a step-by-step guide on how to set up Wiki.js on Saplo.

Why Wiki.js for company documentation

Documents scattered across drives, emails, and private notebooks all share the same set of problems: there's no single place where a new employee can find instructions on their own instead of asking colleagues "where is it?"; there's no change history, because a Word file overwritten with a second version doesn't say who, when, or why the content was changed; and there's zero sensible search functionality, because in a pile of files on a drive, you search by name, not by the document's content. Wiki.js keeps all pages in one place, with a full edit history for each page (you can revert to any version) and a search engine that works by content, not just by title. Companies that want the same thing in a hosted version pay for Atlassian's Confluence, where a license for a small team can cost around $27 per month, and that's before you add extra space for attachments. A knowledge base on Wiki.js runs on your own Box, without an additional account fee, without a limit on the number of pages, and without a monthly bill that increases with the number of people on your team.

Wiki.js or BookStack: Which one to choose?

In the Saplo app catalog, you'll find BookStack alongside Wiki.js. Both tools solve the same problem but organize content differently. Wiki.js lets you build any tree of pages and subpages, making it a good fit for companies with many loosely related topics, such as procedures, policies, project notes, and technical documentation. BookStack imposes a more rigid Shelf, Book, Chapter, Page structure, which can be more convenient when the documentation has a known, predefined division, for example, a separate book for each company department. Wiki.js requires its own PostgreSQL container and a minimum of 1 GB RAM, while BookStack uses Saplo's shared MySQL database and starts with just 512 MB RAM, leaving more resources for other applications on a smaller Box. If you're unsure which to choose, start with Wiki.js, as its more flexible structure can grow more easily with your company. BookStack is better if you already know how you want to divide your documentation.

Requirements

To set up Wiki.js on Saplo, you need a Box with Docker running (the engine automatically enables it during installation from the catalog, container nesting is required, which Saplo has by default), a minimum of 1 GB RAM and 2 GB of free disk space on your Box, and a domain or subdomain *.saploapp.pl, which is included in the Price of every plan. Wiki.js, similar to Paperless-ngx or Baserow, does not use Saplo's shared database. It requires PostgreSQL, so the recipe sets up its own database container alongside the application, meaning the installation does not require any separate database from the catalog or manual connection configuration.

Step-by-step installation

  1. In the Saplo panel, go to App catalog and select Wiki.js (category "Business").
  2. Indicate the Box where it should be installed, and the domain or subdomain under which the knowledge base will be available.
  3. Confirm the installation. The engine sets up two Docker containers: the official ghcr.io/requarks/wiki image and its own PostgreSQL for data, then exposes the panel under the specified domain via nginx with a free SSL certificate.
  4. After completion, the domain responds with the Wiki.js first-run wizard.

First launch

Unlike Paperless-ngx or Listmonk, where the administrator account is generated automatically upon installation, Wiki.js works the same as n8n - you manually create the account in the wizard when you first access the site, without a password file in the application directory. Go to the specified domain, the wizard will ask for the administrator's email, password, and site name. After creating the account, you will be immediately directed to the administrative panel, where you can add more users for the rest of your team in the Administration -> Users section. Each user gets their own login, so you can always see who last edited a given page, which distinguishes Wiki.js from a shared drive where authorship of changes must be guessed.

Writing and organizing pages

You create a new page by clicking the New page button, choosing either a Markdown editor or a WYSIWYG editor (a visual editor that doesn't require knowledge of syntax). You can switch between them at any time without losing content. Pages are organized into a directory tree, for example, "Implementation", "Procedures", "Accesses", so the documentation structure reflects the company's structure instead of being a flat list of titles. Every change to a page is added to the version history. The History tab shows all previous content, and you can revert to any version with a single click, which is useful if someone accidentally overwrites part of a procedure. The search bar at the top searches the content of all pages, not just titles, so a fragment of a sentence is enough to find the right instruction, even if you don't remember the exact name of the page.

Permissions and teamwork

Not every page should be visible to the entire company. That's why Wiki.js allows you to grant permissions on two levels: user groups and individual pages. In the Administration -> Groups section, you create groups corresponding to departments, for example, "Management", "Technical Department", "Sales", and assign them permissions to read, edit, or manage specific branches of the page tree. This way, access to server passwords is only visible to the technical department, while the vacation policy is open to everyone, without having to maintain two separate systems. Adding a new employee means simply creating an account and assigning them to the appropriate group, instead of manually distributing links to files scattered across shared drives.

Backups and Content Export

Wiki.js stores data in a PostgreSQL container, so backups work exactly as they do for any other application on Saplo, covering both files and the database. On Box L and higher plans, backups are created automatically every day. On Box S and M, backups are available as a paid add-on. You can perform a manual backup at any time from the Backups section in your panel, independent of the automatic schedule, for example, just before a major reorganization of page structure. Restoring from a backup reverts the application to its state at the time the backup was made, which is worth remembering before testing risky changes on a production knowledge base. Additionally, Wiki.js allows you to export individual pages to markdown files directly from the editor, so you can extract a fragment of documentation without performing a full application backup.

Wiki.js on Saplo vs. files scattered across drives

Files on drive/in emails Wiki.js on Saplo
Documentation location scattered, everyone stores them their own way one place, common for the team
Change history none, overwritten file is gone forever full history of every page, can be reverted
Searching by file name by content of the entire page
Team access manual sharing, uncontrolled accounts and permissions per user and group
Where is the data local drive or someone else's cloud Your Box
Cost of another account depends on cloud plan or Confluence license included in your Saplo plan

FAQ

Does Wiki.js have a WYSIWYG editor, or do I need to know Markdown? Both. With each new page, you choose between a Markdown editor or a visual WYSIWYG editor that doesn't require syntax knowledge. You can also switch between them while writing the same page.

Where do I get login details after installation? You create your own administrator account in the wizard when you first access the domain. Wiki.js doesn't generate a default password like Paperless-ngx.

Do pages have a change history? Yes, every edit goes into the page version history, with the ability to preview and restore any earlier version.

Can I restrict access to selected pages? Yes, Wiki.js allows you to set permissions at the group and individual page level, so, for example, only the technical department can see server access details.

How is Wiki.js different from BookStack? Wiki.js offers a flexible page tree and requires its own PostgreSQL, while BookStack imposes a Shelf/Book/Chapter structure and uses Saplo's shared MySQL database, so it can run on a smaller Box. Both are available side-by-side in the App catalog.

Can I have Wiki.js and another application on one Box? Yes, every plan has an unlimited number of applications. The only limitations are the Box's RAM and disk space.

If you have questions about setting up Wiki.js on your own Box or organizing your team's documentation, write to us. We'll help with the initial configuration.

  • #Knowledge base
  • #Documentation
  • #Guide
  • #Teamwork
  • #Wiki.js