Introduction
DokuWiki is a standards-compliant wiki engine that deliberately avoids requiring a database. All content is stored as plain text files on disk, making it one of the simplest wikis to install, back up, and maintain. It has been a popular choice for technical documentation and team knowledge bases since 2004.
What DokuWiki Does
- Provides collaborative page editing with a clean wiki syntax
- Stores all pages, revisions, and metadata as plain text files (no database)
- Supports namespaces for organizing content into hierarchical categories
- Manages access control with user/group permissions at the page and namespace level
- Offers full-text search across all wiki content
Architecture Overview
DokuWiki is a PHP application that reads and writes data directly to the filesystem. Pages live as .txt files in the data/pages directory, with old revisions in data/attic. Metadata and search indexes are stored as flat files. The rendering engine converts DokuWiki syntax to XHTML. Plugins hook into events dispatched by the core, and templates control the visual layout.
Self-Hosting & Configuration
- Requires only PHP 7.4+ and a web server (Apache, Nginx, or Lighttpd)
- No database installation or configuration needed
- Download, extract, and run the browser-based installer
- Configure ACLs, authentication backends, and site settings via the admin panel
- Back up by copying the data/ directory; restore by putting it back
Key Features
- Zero-database architecture eliminates an entire class of admin overhead
- Over 2,000 community plugins for blogging, tagging, LDAP auth, and diagramming
- Built-in versioning with page-level diffs and revision restore
- Clean URL support with Apache mod_rewrite or Nginx rules
- Lightweight footprint suitable for Raspberry Pi or shared hosting
Comparison with Similar Tools
- MediaWiki — database-backed and scales to Wikipedia size; DokuWiki is simpler for small teams
- Wiki.js — Node.js with a modern UI and Git storage; DokuWiki needs only PHP
- BookStack — database-driven with book/chapter structure; DokuWiki uses flat files
- Outline — SaaS-friendly with Markdown; DokuWiki is self-contained with its own syntax
FAQ
Q: How does DokuWiki handle concurrent edits? A: It uses an optimistic locking mechanism and shows a conflict resolution page when edits overlap.
Q: Can I use Markdown instead of DokuWiki syntax? A: A Markdown plugin is available, though native DokuWiki syntax is recommended for full feature support.
Q: Is DokuWiki suitable for large-scale deployments? A: It works well for thousands of pages. For tens of thousands or heavy traffic, a database-backed wiki may be more efficient.
Q: How do I migrate content from another wiki? A: Import tools and converter scripts exist for MediaWiki, Confluence, and other platforms.