Simple, markdown knowledge base
  • Go 77.6%
  • CSS 15.9%
  • Go Template 6.1%
  • JavaScript 0.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-11 18:43:46 +01:00
cmd/kb update module path and urls 2026-09-11 18:43:46 +01:00
db update module path and urls 2026-09-11 18:43:46 +01:00
http update module path and urls 2026-09-11 18:43:46 +01:00
.gitignore initial commit 2020-05-09 12:45:05 -07:00
db.go update module path and urls 2026-09-11 18:43:46 +01:00
error.go initial commit 2020-05-09 12:45:05 -07:00
go.mod update module path and urls 2026-09-11 18:43:46 +01:00
go.sum add more ui, fix tables, login flow 2020-05-09 17:21:05 -07:00
LICENSE add agpl license 2026-09-11 18:19:09 +01:00
rand.go add more ui, fix tables, login flow 2020-05-09 17:21:05 -07:00
README.md update module path and urls 2026-09-11 18:43:46 +01:00

kb

kb is a simple and secure internal knowledge base for growing teams. It's easy to set up, and it supports markdown and full-text search.

The central data structure is a Page, which has markdown text. Pages may link to any other page. Any logged-in user can edit any page. A history of edits for easy rollback is not currently recorded, but it's planned.

URLs for pages are immutable after create, so links always work.

The database backend is sqlite3 with fts5, since the workload is read-heavy. Note that sqlite3 does not enable full-text search by default -- this guide details how to compile it with full-text search.

Users sign up using their company Google sign-in restricted by the domain hostname. This ensures highly secure logins without needing to reinvent that wheel (2FA, rate limiting, password policies, provisioning, etc.) and dramatically simplifies kb's codebase. This is the only supported authentication mechanism currently, since that's what we use internally. Patches welcome!

HTTPS should be handled by a reverse proxy or some other external mechanism. srp is a great option.

Foreign dependencies are kept to a minimum.

Installation

go get evantann.com/kb/cmd/kb

Usage

kb -h yourcorp.com [-d kb.sql] [-p 8501]