Overview
Discover what makes W-CMS powerful
**W** is a lightweight, PHP‑based CMS that blends wiki functionality with personal knowledge management. It allows developers to create and host small to medium‑sized sites where pages can be authored in Markdown, HTML, CSS, or JavaScript on the fly. The core idea is to keep the surface area minimal while exposing a flexible API and extensibility points that can be leveraged by advanced users. Because it relies on a flat‑file database, the runtime footprint is low and deployment can be as simple as dropping a zip archive into a web‑root.
Language
Frameworks
Templating
Storage
Overview
W is a lightweight, PHP‑based CMS that blends wiki functionality with personal knowledge management. It allows developers to create and host small to medium‑sized sites where pages can be authored in Markdown, HTML, CSS, or JavaScript on the fly. The core idea is to keep the surface area minimal while exposing a flexible API and extensibility points that can be leveraged by advanced users. Because it relies on a flat‑file database, the runtime footprint is low and deployment can be as simple as dropping a zip archive into a web‑root.
Technical Stack & Architecture
- Language: PHP 8.x (object‑oriented, with type hints and namespaces).
- Frameworks: No heavy framework; a custom micro‑framework handles routing, middleware, and view rendering.
- Templating: Twig‑like syntax is used for page templates, but developers can inject raw PHP or JavaScript when needed.
- Storage: All content lives in the filesystem—each page is a file, metadata stored in YAML front‑matter. This design removes the need for an external RDBMS and simplifies backups.
- Database‑like Layer: A lightweight query interface abstracts the flat file system, allowing developers to write “SQL‑like” queries against page collections.
- Authentication: LDAP support (beta) and a simple file‑based user store are available.
- WebSocket / Live Reload: Optional WebSocket support for real‑time collaboration and live preview.
Core Capabilities & APIs
- URL‑Based Command Interface: Append commands such as
../editto a page URL to trigger editor modes or other actions without navigating menus. - REST‑like API (v0): Exposes CRUD operations on pages, media, and users. Endpoints return JSON and support pagination, filtering, and search via query parameters.
- Media Manager: Handles file uploads, automatic web‑optimisation (JPEG/PNG compression), and provides URLs for embedding.
- Geolocation: Pages can contain latitude/longitude metadata; the frontend automatically renders a map using Leaflet or similar libraries.
- Graph View: Generates an interactive graph of page links, useful for visualising knowledge structures.
- Extensibility: Plugins are simple PHP classes that hook into lifecycle events (
onPageLoad,onRender, etc.). Developers can create custom commands, modify the editor toolbar, or inject new UI components.
Deployment & Infrastructure
- Self‑Hosting: Requires a standard LAMP/LEMP stack. The application is stateless; any web server that can serve PHP files will work.
- Containerization: A Dockerfile is provided, making it trivial to spin up a container for CI/CD pipelines or cloud deployments.
- Scalability: While designed for small projects (under ~1,000 pages), horizontal scaling is possible by sharing the underlying filesystem or using a network‑attached storage. The lack of a central database reduces bottlenecks, but concurrent writes may need locking mechanisms.
- Backup & Migration: Since data is file‑based, simple
taror Git can be used for version control. The API also supports exporting/importing page collections.
Integration & Extensibility
- Webhooks: Developers can register callbacks that fire on page creation, update, or deletion.
- CLI Sync Client: A lightweight command‑line tool (
w sync) synchronises local edits with the server, useful for offline workflows. - Custom Themes: CSS/JS themes are drop‑in; the editor automatically loads theme assets, allowing rapid UI iteration.
- Third‑Party Auth: LDAP and basic auth are supported; OAuth or SAML can be added via plugins.
- RSS/Atom Feeds: Auto‑generated feeds expose recent updates, facilitating integration with external aggregators.
Developer Experience
- Configuration: A single
config.phpfile holds database paths, authentication settings, and feature toggles. - Documentation: The README,
MANUAL.md,API.md, and rendering diagram (RENDER.md) provide comprehensive guidance. - Community: Maintained by a small but active team; issues and pull requests are handled promptly.
- License: AGPLv3 encourages open‑source contributions while protecting the freedom of derivatives.
Use Cases
- Personal Knowledge Bases: Artists or researchers can rapidly document concepts and link ideas.
- Experimental Websites: The editor’s support for inline JavaScript makes it ideal for interactive fiction or data visualisations.
- Micro‑CMS: Small teams can manage a handful of pages without the overhead of WordPress or Drupal.
- Educational Projects: The flat‑file nature is perfect for teaching web development fundamentals without setting up a database.
Advantages
- Performance: Minimal dependencies and flat‑file storage mean low latency for page loads.
- Flexibility: Developers can inject custom logic at almost every stage of the request cycle.
- Licensing: AGPLv3 ensures that any derivative work remains open, aligning with many community projects.
- Rapid Prototyping: The URL‑based command interface and live editor reduce the friction of iterative design.
In summary, W offers a developer‑friendly, lightweight platform for building dynamic yet simple web spaces. Its architecture balances performance with extensibility, making it a compelling choice for projects that need quick iteration
Open SourceReady to get started?
Join the community and start self-hosting W-CMS today
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Explore More Apps
Mail-in-a-Box
One‑click mail server for personal control

DAViCal
Open‑source CalDAV server for shared calendars
pretix
Secure, multi‑language ticketing for any event
FreeSWITCH
Open‑source telephony platform for any device
Automatisch
Self‑hosted automation without coding
Teleport
Secure, unified access to all infrastructure
