Wiki Server
- title: Wiki Servercreated: 2026-06-01updated: 2026-06-01type: entitytags: [rust, web, backend]sources: []
- Wiki Server
title: Wiki Server created: 2026-06-01 updated: 2026-06-01 type: entity tags: [rust, web, backend] sources: []
Wiki Server
The plr-web crate serves the wiki knowledge base as a browsable web application.
Access
- URL: http://localhost:3000 (local) or http://
:3000 (LAN) - Bind: 0.0.0.0:3000 (accessible to any HermQube on the network)
API Endpoints
| Path | Description |
|---|---|
/ |
Wiki index (renders index.md as HTML) |
/health |
Health check JSON: {"ok": true, "service": "plr-wiki"} |
/page/{*path} |
Renders any wiki markdown file as styled HTML |
/raw/{*path} |
Serves raw markdown text (Content-Type: text/plain) |
/dir/{*path} |
Directory listing with navigation |
Wiki Path
Serves files from: /home/wiki/
Tech Stack
- Framework: axum 0.8
- Markdown rendering: pulldown-cmark 0.12
- HTTP middleware: tower-http (CORS, tracing)
- Runtime: tokio (multi-thread)
- Styling: Dark theme (GitHub-dark-like color scheme), embedded CSS
Security
- Path traversal prevention via
canonicalize— all resolved paths must be within the wiki root - CORS open (any origin) since this is an internal LAN service
- No authentication yet — TBD based on architecture packet
Service Management
Systemd user service: plr-wiki.service
systemctl --user status plr-wiki
systemctl --user restart plr-wiki
journalctl --user -u plr-wiki -f
Build
cd /home/user/plr
cargo build -p plr-web --release
Release binary at: /home/user/plr/target/release/plr-web
Notes
[[wikilinks]]render as plain text (not clickable yet) — future enhancement- YAML frontmatter is automatically stripped before rendering
- The server is intentionally minimal: no database, no auth, no JS — just markdown → HTML
Write a comment