Overview
Discover what makes Mycorrhiza Wiki powerful
Mycorrhiza Wiki is a lightweight, file‑system based wiki engine that leverages Git for version control. From a developer’s standpoint it is essentially a **static‑content server** that reads, writes, and serves plain files while exposing rich APIs for integration. The core idea is to keep the data layer simple—no relational or NoSQL database, only a directory tree that Git tracks. This design eliminates the need for schema migrations, complex ORMs, or external persistence services, making it ideal for rapid prototyping and self‑hosted deployments where simplicity is paramount.
File‑based storage
Git integration
RESTful API
Webhooks & Feeds
Overview
Mycorrhiza Wiki is a lightweight, file‑system based wiki engine that leverages Git for version control. From a developer’s standpoint it is essentially a static‑content server that reads, writes, and serves plain files while exposing rich APIs for integration. The core idea is to keep the data layer simple—no relational or NoSQL database, only a directory tree that Git tracks. This design eliminates the need for schema migrations, complex ORMs, or external persistence services, making it ideal for rapid prototyping and self‑hosted deployments where simplicity is paramount.
Architecture
The application is written in Go, chosen for its compiled binaries, efficient concurrency model, and strong static typing. The web layer is built on the standard net/http package with a small router for handling RESTful endpoints and WebSocket streams. Rendering of hyphae (the term used for content units) is performed by a custom templating engine that interprets Mycomarkup, a minimal markup language designed to be unambiguous yet expressive. All content is stored under a single root directory; each hypha corresponds to a file or sub‑directory, and the engine supports nesting for hierarchical organization. Git is invoked via the go-git library, enabling commit creation, history traversal, and diff generation without spawning external processes. The resulting binary is stateless apart from the filesystem, making it trivially deployable in containers or as a standalone service.
Core Capabilities
- File‑based storage – All hyphae, categories, and configuration are plain files; developers can manipulate them with any editor or CI/CD pipeline.
- Git integration – Every edit is a commit; APIs expose diffs, commit logs, and branch handling. Hooks can be wired to trigger CI jobs or external services.
- RESTful API – CRUD operations for hyphae, categories, and users are exposed over JSON. The API also supports bulk uploads via tarball or ZIP streams.
- Webhooks & Feeds – RSS, Atom, and JSON Feed endpoints publish recent changes; developers can subscribe or embed these feeds in dashboards.
- Open Graph & Interwiki – Metadata tags are automatically generated, and interwiki links are resolved via a lookup table in the filesystem.
Deployment & Infrastructure
Because Mycorrhiza has no external dependencies, a single binary plus the wiki directory constitutes a complete deployment. It can run on any OS that supports Go binaries, from Linux to macOS and Windows. Docker images are available in the official repository; a typical container runs on port 1737 and mounts a volume for persistence. For scaling, the stateless nature allows horizontal replication behind a load balancer; Git repositories can be shared via NFS or an object store if multiple instances need to access the same data. The lightweight footprint (under 20 MB for a minimal build) makes it suitable for edge devices, IoT gateways, or embedded systems.
Integration & Extensibility
Mycorrhiza exposes a plugin architecture where developers can drop Go plugins (.so files) into the plugins/ directory. Plugins can hook into request lifecycle events, modify rendering pipelines, or add new API endpoints. Additionally, the application supports Telegram login and basic username/password authentication out of the box, but custom OAuth providers can be integrated by implementing the AuthProvider interface. Webhooks are configurable via a simple YAML file, enabling automatic notifications to Slack, Mattermost, or custom webhooks whenever content changes.
Developer Experience
The configuration is a single config.yaml file with clear documentation; most options are self‑explanatory. The codebase follows idiomatic Go conventions, making it approachable for developers familiar with the language. Community support is active on GitHub, SourceHut, and Telegram; mailing lists are available for deeper discussions. The project is licensed under MIT, encouraging reuse and modification without copyleft constraints.
Use Cases
- Personal Knowledge Bases – A developer can spin up a local wiki to track projects, experiments, or learning notes, benefiting from Git history and easy backups.
- Digital Gardens – The nesting and category features allow a blogger or researcher to build interconnected content without a rigid hierarchy.
- Team Documentation – Small teams can host an internal wiki that is version‑controlled, self‑hosted, and free from vendor lock‑in.
- Educational Resources – Instructors can create lesson plans, quizzes, and multimedia content that students can clone via Git for offline study.
Advantages
- Zero‑DB, Zero‑Ops – Eliminates database migrations and management overhead.
- Git‑native History – Developers already comfortable with Git can treat the wiki as another repo, leveraging existing tooling.
- Lightweight & Portable – Single binary, minimal dependencies; ideal for containers or edge deployments.
- Open‑Source & MIT – No licensing fees, full freedom to modify or extend.
- Extensible API – Ready‑made REST endpoints and plugin hooks make it a good fit for integration into larger systems.
In summary, Mycorrhiza Wiki offers a developer‑friendly, file‑centric wiki engine that marries Git’s versioning power with a minimal runtime footprint. Its architecture and extensibility make it an attractive choice for anyone needing a self‑hosted, lightweight documentation platform without the complexity of traditional database‑backed wikis.
Open SourceReady to get started?
Join the community and start self-hosting Mycorrhiza Wiki 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
Umami
Privacy‑focused, lightweight web analytics

YunoHost
Self-hosted server platform for easy app management
solidtime
Open‑source time tracker for freelancers and agencies
Inventaire
Collaborative library for book sharing and tracking
CryptPad
Secure, real‑time collaboration suite
FoodCoopShop
Open‑source shop for local food cooperatives