MCPSERV.CLUB
DokuWiki

DokuWiki

Self-Hosted

Lightweight, database‑free wiki for collaborative knowledge management

Active(93)
4.4kstars
0views
Updated 16 days ago

Overview

Discover what makes DokuWiki powerful

DokuWiki is a lightweight, file‑based wiki engine written in pure PHP that eliminates the need for an external database. Internally it stores pages as plain‑text files with a simple markup syntax, making the data layer trivial to backup, version‑control, or migrate. The engine is built around a modular architecture that exposes hooks and an event system for developers, while still providing a full‑featured web interface out of the box. This design keeps the core footprint under 1 MB, yet it can scale to thousands of pages with minimal overhead.

File‑based persistence

Revision history & rollback

Access Control Lists (ACLs)

Extensible plugin API

Overview

DokuWiki is a lightweight, file‑based wiki engine written in pure PHP that eliminates the need for an external database. Internally it stores pages as plain‑text files with a simple markup syntax, making the data layer trivial to backup, version‑control, or migrate. The engine is built around a modular architecture that exposes hooks and an event system for developers, while still providing a full‑featured web interface out of the box. This design keeps the core footprint under 1 MB, yet it can scale to thousands of pages with minimal overhead.

Key Features

  • File‑based persistence – pages, attachments and metadata are stored in a hierarchical directory structure (data/pages/, data/media/).
  • Revision history & rollback – every edit creates a new file snapshot; the built‑in diff engine compares revisions.
  • Access Control Lists (ACLs) – fine‑grained permissions per namespace or page, integrated with external authentication backends (LDAP, OAuth, SAML).
  • Extensible plugin API – over 200 community plugins cover search engines, version control integrations, UI themes, and more.
  • Template system – skins/themes alter the presentation without touching core code; templates can be swapped at runtime.

Technical Stack

  • Language: PHP 7.4+ (full compatibility with PHP 8).
  • Frameworks: No heavy frameworks; a lightweight MVC‑like structure is used internally.
  • Database: None – file system only; optional SQLite support for auxiliary data in newer releases.
  • Web Server: Apache, Nginx or any server capable of executing PHP; .htaccess rules handle clean URLs.
  • Front‑end: Vanilla JavaScript, optional jQuery for plugins; CSS is minimal but customizable via templates.

Core Capabilities

  • REST‑like APIdoku.php exposes an XML‑RPC interface for page read/write, search, and user management.
  • Event system – developers can hook into events such as io_wiki_write, action_plugin_rendered, or media_upload.
  • Template hooks – templates can register custom page rendering callbacks, enabling advanced UI logic.
  • CLI toolsdokuwiki.php script offers commands for maintenance, backup, and bulk operations.

Deployment & Infrastructure

  • Self‑hosting: A single PHP file (index.php) plus the data/ directory is all that’s required; no database server or complex setup.
  • Containerization: Official Docker images exist, making it trivial to spin up isolated instances or roll them into Kubernetes deployments.
  • Scalability: Horizontal scaling is straightforward—share the data/ directory over NFS or a distributed file system, and run multiple PHP workers behind a load balancer.
  • Performance: With caching enabled (e.g., APCu or Redis), read latency is negligible; writes are atomic file operations.

Integration & Extensibility

  • Plugin ecosystem: The plugin API supports event listeners, toolbar buttons, and custom page types.
  • Authentication connectors: LDAP, OAuth2, SAML, and Shibboleth are supported via plugins.
  • Webhooks: Plugins can trigger external HTTP callbacks on page changes, facilitating CI/CD pipelines or notification services.
  • Custom templates: Themes can override core layouts, CSS, and JavaScript without modifying the engine.

Developer Experience

  • Configuration: All core settings are stored in conf/ files (local.php, plugins.php). The admin UI provides a guided configuration wizard.
  • Documentation: The official development manual is comprehensive, covering plugin creation, event hooks, and template design.
  • Community: An active mailing list, GitHub repository, and regular releases ensure quick issue resolution.
  • Licensing: GPLv2+ encourages open collaboration while allowing commercial use.

Use Cases

  • Corporate Knowledge Base – ACLs and LDAP integration make it ideal for internal documentation.
  • Project Workspace – With the “Task” plugin, teams can manage issues and tasks directly within DokuWiki.
  • CMS / Intranet – Templates convert it into a lightweight content management system for small to medium sites.
  • Software Manuals – The “DokuWiki syntax” and version history simplify maintaining up‑to‑date documentation.

Advantages

  • Zero database overhead simplifies backups and migrations.
  • Low resource footprint allows deployment on shared hosting or IoT devices.
  • High flexibility: plugins and templates let developers tailor the stack to specific workflows without core modifications.
  • Strong community support ensures rapid patching and a rich set of extensions.

In summary, DokuWiki offers a developer‑friendly, extensible wiki platform that blends simplicity with powerful customization options—making it an excellent choice for teams needing a lightweight, self‑hosted knowledge base or CMS.

Open SourceReady to get started?

Join the community and start self-hosting DokuWiki today