Knowledgeroot

Structured Knowledge Management for Teams and Organizations

Modern Technology, Proven Concept

Knowledgeroot is a self-hosted wiki for teams and public knowledge bases. Pages live in a tree, every change is kept, and access is controlled per page.

Content

Tree Structure

Organize pages in a hierarchy with unlimited depth. Move a page together with its subtree; links, labels, comments and attachments stay intact.

Rich Text Editor

Tiptap-based editor with headings, lists, quotes, code blocks, tables, links and images. MIT-licensed, no editor license key required.

Version History

Every change is archived before it is overwritten. Compare versions side by side, restore an earlier one, and bring back deleted pages.

Search and Attachments

Search titles and content, with results limited to what the current user may read. Attach files to pages, stored on disk or in an S3-compatible bucket.

Collaboration and Access

Page Permissions

Read and edit rights per page for users and groups. Subpages inherit from their parent by default; explicit exceptions are possible where needed.

Public and Private

Run a fully public knowledge base, a strictly internal one, or both in a single installation. Guest access is granted per page and can be revoked for a whole subtree.

Conflict Protection

Saving checks the page revision. If someone else saved first, your draft stays in the browser and nothing is silently overwritten.

Account Security

PBKDF2 password hashing, login throttling per account and address, and optional password recovery by email.

Operations

Container Images

Official images on Docker Hub, built and vulnerability-scanned in CI, running as a non-root user. The production profile refuses unsafe settings at startup.

Monitoring

Liveness and readiness endpoints for orchestrators and reverse proxies, plus metrics for Prometheus-style scraping.

REST API

JSON endpoints for pages, files, users and groups, enforcing the same permissions as the web interface.

Open Source

BSD-2-Clause licensed. Java 25, Spring Boot 4 and MariaDB; schema upgrades run automatically with Liquibase.

Knowledgeroot Insights

Welcome page with the page tree in the sidebar

Page tree and welcome page

Page view with breadcrumb, content block and a file attachment

Page view with attachment

Editor with Content and Permissions tabs

Editor with permissions tab

Getting Started

Download

Current release candidate: v1.0.0-rc.3. The latest image follows the main branch. The JAR needs Java 25 and MariaDB; verify it with the SHA256SUMS from the release page, see below.

Docker Setup

Quick Start

Save the configuration below as docker-compose.yml and start it:

docker compose up -d

After starting, visit http://localhost:8080

Default Logins:

Login: user
Password: password

Login: admin
Password: password

This setup is meant for trying Knowledgeroot locally: the demo logins and database password are public. For a hardened deployment behind HTTPS see docs/production.md.

Docker Compose Configuration

Run the JAR without Docker

Every release tag also publishes the verified JAR as a GitHub release, together with SHA256SUMS, the release manifest and the audit reports. It is the same JAR that ships inside the Docker image. You need Java 25 and a MariaDB server.

base=https://github.com/lordlamer/jknowledgeroot/releases/download/v1.0.0-rc.3
curl -fsSLO "$base/knowledgeroot-1.0.0-rc.3.jar"
curl -fsSLO "$base/SHA256SUMS"
sha256sum -c --ignore-missing SHA256SUMS

export SPRING_PROFILES_ACTIVE=development
export KR_DB_URL='jdbc:mariadb://localhost:3306/knowledgeroot?createDatabaseIfNotExist=true'
export KR_DB_USER=root
export KR_DB_PASSWORD=knowledgeroot
export KR_STORAGE_DRIVER=file
export KR_FILE_STORAGE_DIR=./files
java -jar knowledgeroot-1.0.0-rc.3.jar

The application listens on http://localhost:8081 with the same demo logins as above. For a production setup use the production profile with the variables described in docs/installation.md and docs/production.md.

Important Migration Notice

The PHP version of Knowledgeroot is no longer supported. Please migrate to the Java version. There is no automated upgrade path from the PHP version yet; content has to be migrated manually.

Upgrades between releases of the Java version are automatic: the database schema is migrated on startup. See docs/installation.md for the upgrade checklist.