MCPSERV.CLUB
WikiDocs

WikiDocs

Self-Hosted

Databaseless markdown flat‑file wiki engine

Active(70)
449stars
2views
Updated Aug 22, 2025
WikiDocs screenshot

Overview

Discover what makes WikiDocs powerful

WikiDocs is a lightweight, self‑hosted wiki engine that eschews traditional databases in favor of plain Markdown files stored on the filesystem. From a developer’s standpoint, it offers a simple yet powerful API surface that can be embedded into existing PHP projects or run as an isolated service behind Apache or Nginx. The core of the application is a PHP front‑end that parses Markdown, renders HTML, and manages page revisions by keeping a history of file snapshots in the same directory tree. This design eliminates database migrations, schema management, and ORM overhead while still providing full version control via file timestamps and optional Git integration.

Language

Web Server

Markup

Math

Overview

WikiDocs is a lightweight, self‑hosted wiki engine that eschews traditional databases in favor of plain Markdown files stored on the filesystem. From a developer’s standpoint, it offers a simple yet powerful API surface that can be embedded into existing PHP projects or run as an isolated service behind Apache or Nginx. The core of the application is a PHP front‑end that parses Markdown, renders HTML, and manages page revisions by keeping a history of file snapshots in the same directory tree. This design eliminates database migrations, schema management, and ORM overhead while still providing full version control via file timestamps and optional Git integration.

Technical Stack & Architecture

  • Language: PHP 8.x (object‑oriented, with optional type hints).
  • Web Server: Apache2 or Nginx (mod_rewrite or try_files rules).
  • Markup: Markdown parsed by a PHP library (likely Parsedown or similar).
  • Math: KaTeX rendered client‑side; no server‑side processing.
  • Storage: Flat‑file system under a /datasets directory; each page is a .md file, revisions are stored as copies or in a revisions/ subfolder.
  • Front‑end: Vanilla JS with WYSIWYG editor (likely a lightweight library like Quill or TinyMCE), syntax highlighting via Prism.js, dark mode CSS.
  • Deployment: Docker image pre‑configured with Apache/PHP; supports volume mounts for persistent data and environment variables (PUID, PGID).
  • Extensibility: Configuration file config.inc.php exposes paths, authentication mode (public/private), and URL rewrite rules. Custom CSS can be dropped into styles/styles-custom.css. No plugin system is documented, but the flat‑file nature makes it trivial to hook into pre/post render events by editing core PHP files.

Core Capabilities

  • Unlimited revisions: Each edit creates a new file snapshot; the revision history is exposed via URLs like /revisions/<page>.md.
  • Attachments & Images: Uploads are stored in a dedicated attachments/ directory; images can be pasted from clipboard or uploaded, then referenced with Markdown image syntax.
  • Namespaces: Pages are organized by directory structure; the engine automatically generates an index and sitemap for each namespace.
  • Multi‑language support: Header tags (lang="en", etc.) can be added; the engine serves localized content based on request headers or URL prefixes.
  • Public/Private browsing: Authentication can be toggled; the demo shows a simple password “demo” but the code supports session‑based auth or integration with external OAuth providers.
  • API hooks: While no REST API is exposed, developers can extend the PHP code to expose endpoints for CRUD operations or integrate with external services (e.g., CI/CD pipelines that push Markdown to the /datasets folder).

Deployment & Infrastructure

Because WikiDocs relies only on PHP and the filesystem, it scales horizontally by adding read replicas behind a load balancer; write operations require a shared filesystem (NFS, GlusterFS, or cloud object storage with sync). Docker images simplify containerization: a single docker run command brings up the full stack, and volumes persist data across restarts. For production, recommend mounting /datasets to a dedicated storage volume and configuring Apache/Nginx with proper caching headers for static assets.

Integration & Extensibility

  • Custom CSS: Drop a styles-custom.css file to override default styling without touching the core.
  • Git Hooks: Since revisions are files, a Git repository can be initialized in /datasets to leverage external tooling (e.g., CI pipelines, diff viewers).
  • Webhooks: Not natively supported, but developers can add PHP scripts that trigger on file changes (using inotify or polling) to push notifications to Slack, Teams, or other services.
  • Embedding: The rendering engine can be included as a library in other PHP projects; the renderPage() function (hypothetical) accepts Markdown content and returns sanitized HTML.

Developer Experience

  • Documentation: The README provides clear Docker usage, manual setup steps, and web‑server configuration snippets.
  • Community: The project is maintained by a single creator with occasional contributors; issue tracker and pull requests are responsive.
  • Configuration: The config.inc.php file is simple to edit; most settings are path‑based and can be overridden via environment variables when containerized.
  • Testing: No automated tests are bundled, but the flat‑file nature allows for quick manual verification of features.

Use Cases

  1. Internal Knowledge Base – Teams can host a lightweight wiki without a database, simplifying backups and migrations.
  2. Documentation for Open‑Source Projects – The Markdown focus aligns with GitHub/Bitbucket docs; developers can sync /datasets to a repo.
  3. Educational Resources – Instructors can deploy on campus servers, provide private or public access, and track revisions of lecture notes.
  4. Rapid Prototyping – Developers can spin up a wiki in minutes to prototype documentation or API specs before committing to a full‑featured CMS.

Advantages Over Alternatives

CriterionWikiDocsTypical Wiki Platforms
Database‑free✔️ No DB migrations or maintenance❌ Often require

Open SourceReady to get started?

Join the community and start self-hosting WikiDocs today

Weekly Views

Loading...
Support Us
Most Popular

Infrastructure Supporter

$5/month

Keep our servers running and help us maintain the best directory for developers

Repository Health

Loading health data...

Information

Category
other
License
MIT
Stars
449
Technical Specs
Pricing
Open Source
Database
None
Docker
Official
Supported OS
LinuxDocker
Author
Zavy86
Zavy86
Last Updated
Aug 22, 2025