MCPSERV.CLUB
WackoWiki

WackoWiki

Self-Hosted

Lightweight multilingual wiki engine with WYSIWYG editing

Active(93)
54stars
0views
Updated 1 day ago
WackoWiki screenshot 1
1 / 2

Overview

Discover what makes WackoWiki powerful

WackoWiki is a lightweight, PHP‑based wiki engine that focuses on rapid deployment and extensibility. It exposes a rich set of features—WYSIWYG editing, multilingual support, fine‑grained ACLs, and theming—while keeping the core codebase small enough to run on shared hosting or a Docker container. The engine is built for **PHP 8.0–8.5** and supports **MariaDB, MySQL, or SQLite**, giving developers flexibility in choosing the persistence layer that best fits their stack.

Rich Text Editing

ACL & Permissions

Theming & Skins

File Management

Overview

WackoWiki is a lightweight, PHP‑based wiki engine that focuses on rapid deployment and extensibility. It exposes a rich set of features—WYSIWYG editing, multilingual support, fine‑grained ACLs, and theming—while keeping the core codebase small enough to run on shared hosting or a Docker container. The engine is built for PHP 8.0–8.5 and supports MariaDB, MySQL, or SQLite, giving developers flexibility in choosing the persistence layer that best fits their stack.

Key Features

  • Rich Text Editing: A browser‑based WYSIWYG editor that maps directly to the wiki’s markup syntax, enabling non‑technical users to create content without learning a new language.
  • ACL & Permissions: Role‑based access control is implemented at the page level, allowing granular read/write rights that can be overridden by site‑wide defaults.
  • Theming & Skins: A simple theme engine lets developers swap CSS/HTML templates without touching core logic, making it easy to brand the wiki or integrate with existing UI frameworks.
  • File Management: Upload, versioning, and inline embedding of images or documents are supported out of the box, with configurable storage backends (local filesystem or cloud services via plugin).
  • Extensible Actions & Highlighters: The core provides hooks for custom actions (e.g., export to PDF) and highlighters that can inject JavaScript widgets or API calls into pages.

Technical Stack

LayerTechnologyNotes
RuntimePHP 8.0‑8.5Uses native OOP, namespaces, and type declarations for safety and performance.
FrameworkCustom MVC‑like architectureLightweight, no external dependencies beyond PDO and standard PHP extensions.
DatabaseMariaDB / MySQL / SQLiteSchema is normalized with tables for pages, revisions, users, ACLs, and media.
FrontendVanilla JS + optional libraries (e.g., TinyMCE for WYSIWYG)Minimal footprint; developers can replace or extend with React/Vue if desired.
DeploymentLAMP/LEMP stack, Docker images availableContainer‑friendly; supports environment variables for DB credentials and configuration.

Core Capabilities & APIs

  • REST‑like Endpoints: While the primary interface is rendered HTML, developers can tap into api.php to fetch or update pages via JSON.
  • Event Hooks: onPageSave, onUserLogin, etc., allow plugins to react to lifecycle events without modifying core files.
  • Plugin System: Plugins are PHP classes placed in /plugins/. They can register new actions, modify page rendering, or add custom routes.
  • Webhooks: Built‑in support for sending POST requests on page edits, useful for CI/CD pipelines or external monitoring.
  • Command‑Line Tools: wacko-cli.php offers tasks such as bulk import, export, or backup generation.

Deployment & Infrastructure

WackoWiki is intentionally minimal: a single PHP entry point, a handful of configuration files, and the database. This makes it trivial to deploy on:

  • Shared hosting (PHP 8.x, MySQL)
  • Docker Compose: A ready‑to‑use docker-compose.yml spins up a web server and MariaDB container.
  • Kubernetes: Helm charts are not officially maintained, but the stateless nature of the app allows easy scaling with replicas behind a load balancer.
  • Serverless: With PHP‑based serverless platforms (e.g., Laravel Vapor), WackoWiki can run as a function, leveraging external storage for media.

Integration & Extensibility

  • LDAP/SSO: The authentication layer can be swapped for LDAP or OAuth providers via plugin.
  • External APIs: Developers can embed third‑party data (e.g., GitHub issues, Jira tickets) using the highlighter system.
  • Custom Themes: By overriding template files in /themes/, you can integrate the wiki into corporate intranets or learning management systems.
  • Localization: Translation files are stored in /lang/; adding a new language is as simple as duplicating the JSON/YAML structure.

Developer Experience

The documentation on the official site is concise, with a dedicated User Guide and an active forum. The GitHub repository follows semantic versioning, and issues are triaged quickly. Community plugins exist for popular integrations (GitHub, LDAP), and the codebase is well‑commented, making onboarding straightforward for developers familiar with PHP MVC patterns.

Use Cases

  • Enterprise Knowledge Base: Secure, role‑based access and the ability to embed live dashboards or API widgets.
  • Educational Portals: Multi‑language support and lightweight footprint make it ideal for schools with limited hosting resources.
  • Open‑Source Project Documentation: Quick setup, easy versioning of pages, and integration with CI pipelines for auto‑publishing.
  • Internal Documentation Hub: Custom themes can match corporate branding, and the file upload system allows sharing of PDFs or code snippets.

Advantages

  • Performance: With no heavy frameworks, request latency stays low even with thousands of pages.
  • Flexibility: The plugin and hook system lets developers extend

Open SourceReady to get started?

Join the community and start self-hosting WackoWiki today