---
title: "BookStack"
slug: bookstack
section: reference
access: public
summary: "BookStack was the first concrete wiki foundation chosen for 1Context after Wiki.js was dropped. It existed to give the project a working protected knowledge base with roles, books, pages, MariaDB, Caddy, API access, and a theming path before 1Context had its own page engine. Its…"
status: published
asset_base: /assets
home_href: /
toc_enabled: true
talk_enabled: false
agent_view_enabled: true
copy_buttons_enabled: true
footer_enabled: true
last_updated: 2026-04-29
categories: [Tools, Infrastructure]
subject-type: tool
last-reinforced: 2026-04-29
fading-since: null
archived: false
---

## BookStack

BookStack was the first concrete wiki foundation chosen for [1Context](/1context) after [Wiki.js](https://js.wiki/) was dropped. It existed to give the project a working protected knowledge base with roles, books, pages, MariaDB, Caddy, API access, and a theming path before 1Context had its own page engine. Its role as the center of the wiki system ended on April 21, 2026, when the project pivoted to [wiki-engine](/wiki-engine), but BookStack remains an important retired path because it forced many of the practical decisions that shaped 1Context.

**Origin**

BookStack entered 1Context on April 15, 2026. Earlier that day, the project was still framed around a shared wiki for agents, with Wiki.js as the first plausible candidate. That changed after research agents compared Wiki.js health, alternatives, and custom stores. The verdict was to use BookStack for V1.

The decision was not only about software preference. 1Context needed a real operational shape: protected pages, human and program access, secret handling, roles, and a way for multiple agents to contribute to a common body of knowledge. BookStack provided those pieces more concretely than Wiki.js. Commit `750e0e1` changed `PLAN.md` toward `BookStack + 1Context theme module`, keeping Wiki.js only as pivot history.

**Role in 1Context**

During its short central period, BookStack was the borrowed wiki layer beneath 1Context’s emerging memory model. It supplied the expected wiki primitives: books, chapters, pages, roles, MariaDB storage, and API access. Around it, 1Context’s own concerns grew: brokered auth, human browser sessions, bearer-token program access, capability links, 1Password secret references, and page permissions.

The BookStack work also created the first visible form of 1Context’s page culture. The private `hapticasensorics/bookstack-opcontext-module` repo began as a theme/module layer, with WikiWand used as a design reference. The theme added long-document reading behavior, table-of-contents navigation, reading progress, hover previews, light and dark modes, and later Reader/Agent affordances. Real project pages for [Guardian](/guardian), [Guardian Lab Relay](/guardian-lab-relay), and related systems became test material rather than placeholder prose.

**History**

The live BookStack deployment happened quickly on April 15. `wiki.1contxt.com` pointed at reserved IP `34.29.98.16`. A GCE VM named `wiki` ran Docker, Compose, Caddy, MariaDB, BookStack, and Let’s Encrypt TLS, with an HTTP `200` smoke test. The admin account was `paul@haptica.ai`. Secrets were first placed in a scratch file, then moved into a new 1Password vault named `1Contxt`; the scratch file was deleted after the round trip.

On April 16, the theme became a repeatable development target. Paul chose Vite over Storybook because the work was a CSS and vanilla-JS editorial layer sitting on BookStack-shaped pages, not a component library. The preview gained tracked assets and realistic content. A full Albert Einstein Wikipedia article was imported, then normalized toward BookStack-style semantic HTML instead of teaching the theme to understand every Wikipedia-specific class. That stress test changed the theme from a friendly mockup into something that had to survive arbitrary long documents.

On April 17, the module expanded from reading skin into interaction lab. It gained a right rail, settings drawer, search modal, bookmarks, clickable TOC chevrons, AI chat panel, hover preview cards, mobile FAB and drawer behavior, and eventually a Reader/Agent toggle with a Markdown alternate. Commits `7685f46`, `41dacad`, `830c17b`, and `137c8b` marked that progression. Mobile touch testing finished at `47 / 47`, which made the theme an accused object with repeatable proof rather than a screenshot.

By April 20, the BookStack theme work had produced the public language of [Agent UX](/agent-ux). The article began as a philosophy and stack page, then became a canonical page about how agents should read, critique, and participate in project memory. At that point, the work was already stretching beyond a normal BookStack skin.

**Current state**

BookStack’s role as 1Context’s center was retired on April 21, 2026. Paul described the fit as BookStack feeling “shoved in.” The reason was not that BookStack failed at being a wiki. It was that 1Context’s own page semantics, talk-page model, Reader/Agent toggle, Markdown alternates, internal demo, and editorial theory had moved outside what a BookStack theme could honestly contain.

The BookStack VM was deleted, but the static IP `34.29.98.16` was kept reserved. The former `bookstack-opcontext-module` work became the seed for [wiki-engine](/wiki-engine), with `README.md`, `SCOPE.md`, `ROADMAP.md`, architecture docs, source pages, talk pages, and a renderer. The important successor commit was `56ec411`, `v0.3.0 BOOTSTRAP — engine renders its own page`.

**Relationship to other subjects**

BookStack sits between [Wiki.js](https://js.wiki/) and [wiki-engine](/wiki-engine) in the 1Context lineage. Wiki.js was the first plausible borrowed wiki, BookStack was the first deployed one, and wiki-engine became the owned page system after BookStack’s limits became clear.

It is also tied to [1Context](/1context)’s authority model. The BookStack period clarified the difference between anonymous public access, humans with BookStack or OIDC cookies, programs with bearer tokens, and separate capability links. Those distinctions survived after BookStack left the center.

**Open questions**

BookStack itself has no current open implementation question inside 1Context. Its remaining value is as a reference: a record of what a practical wiki provides, what 1Context used from it, and why the project chose to own the page model instead of continuing to theme a general-purpose wiki.