Open Source · Self-Hosted · Flask + SQLite

The private wiki
for your team

BananaWiki is a full-featured wiki portal you can host on the dedicated platform or run yourself (self-hosted). Wiki Pages, visual Canvas, Kanban boards, chat, 25 plugins and a plugin SDK — all in one Python app, one SQLite database, zero external services.

python3.9+ flask3.1 databaseSQLite tests3,100+
๐Ÿ—๏ธ

Currently in Internal Use

BananaWiki is currently being used internally at Canalescuola and by a small group of associated collaborators. The software is not yet ready for general public use, but it will be soon.

If you are part of the internal team, you can try it out right now by creating your own wiki instance on the hosting platform. Every instance is completely isolated — you get your own database, your own files, and your own admin account. You cannot mess up anyone else’s wiki, so feel free to experiment, explore, and break things in your own space.

BananaWiki in action

A modern, functional interface designed for productivity.

BananaWiki setup wizard for creating the first administrator account Setup wizard
BananaWiki split-pane Markdown editor with live preview Markdown editor with live preview
BananaWiki admin site settings with tabbed configuration Admin site settings
BananaWiki Kanban boards for task management Kanban boards
BananaWiki visual canvas for node-link diagrams Visual canvas
BananaWiki built-in chat system Built-in chats
BananaWiki plugins management page showing 25 built-in plugins Plugin management (25 built-in)
BananaWiki login page Login page

Core features

Everything you need to manage your team’s knowledge, all in one platform.

๐Ÿ“

Wiki Pages

Markdown editor with live preview, formatting toolbar, image upload modal, and internal-link picker. Full edit history with snapshot viewing and revert. Hierarchical categories with drag-to-reorder.

  • Markdown with live preview
  • Authenticated attachments
  • History and revert
  • Difficulty tags
  • Sequential navigation
  • Draft autosave
๐ŸŽจ

Canvas

Visual canvas for creating node-link diagrams directly inside BananaWiki. Each layout is a JSON graph of nodes and edges you can arrange, connect, and export. Nodes can reference wiki pages, external links, images, videos, and free text.

  • Nodes: text, wiki pages, links, images, video
  • Edges with labels
  • Persistent viewport
  • Wiki page integration
  • .canvas.json export
  • Per-layout permissions
๐Ÿ“‹

Kanban

Built-in Kanban boards for visual task and project management. Boards with columns, tickets with Markdown description, priority, assignee, due date, attachments, edit history, and threaded comments.

  • Drag-and-drop between columns
  • Tickets with Markdown
  • Priority, assignees, due dates
  • Attachments and comments
  • Per-user/role sharing
  • Automatic default columns
๐Ÿ’ฌ

Collaboration

Direct and group chats with attachments, user profiles with avatar, bio and contribution heatmaps, badge system with notifications and auto-award, site-wide announcements.

๐Ÿ”’

Administration

Four role tiers (user, editor, admin, protected_admin), granular per-user permissions, category restrictions, maintenance mode, invite codes, full ZIP export/import, and automated Telegram backups.

๐Ÿงฉ

25 Built-in Plugins

Toggle plugins without a restart: announcements, assessments, attachments, audit, badges, BananaAI, BananaCAD, canvas, chat, custom pages, difficulty tags, drafts, easter egg, groups, kanban, page history, Telegram sync, temporary accounts, text-to-speech, and more. Public SDK (bananawiki_sdk) for third-party plugins.

๐ŸŒ

Custom Pages

Admin-defined pages at arbitrary URLs with 19 content types: Markdown, HTML, redirects, file downloads, video embeds, and more. Ideal for landing pages and public resources.

๐Ÿ”Š

Text-to-Speech

Generate shareable MP3 narrations of wiki pages on demand. Italian and English voices available. Listen to your wiki content while doing other things.

Hosting Platform

Every user gets their own fully isolated wiki instance — you can try it out internally without affecting anyone else.

๐Ÿ  Your Own Isolated Wiki

Each wiki instance runs as a fully independent BananaWiki process with its own SQLite database, upload directory, and administrator account. Instances cannot see or access each other’s data — they are completely isolated, as if you had your own dedicated server. You can’t mess up anyone else’s wiki, so feel free to experiment and explore.

๐Ÿงช Try It Out Internally

Internal users at Canalescuola and associated collaborators can create their own wiki instance on the hosting platform to try BananaWiki out. Sign up, create an instance, and start using it straight away. Your wiki is your own private space — add pages, invite collaborators, or just explore the features on your own.

๐Ÿ‘ค One Instance Per User

Users sign up on the hosting portal, create a wiki instance, and get a unique URL to access it. Each person (or team) can have up to 5 instances by default, with configurable quotas, storage limits, and expiry dates.

๐Ÿ”ง Two Deployment Modes

Port mode — each instance gets a unique port (e.g. http://your-server:6001). No domain or DNS required, works anywhere. Subdomain mode — each instance gets a subdomain (e.g. https://myteam.wiki.example.com). Requires wildcard DNS.

1,000
Max instances per server
500 MB
Default storage per instance
5
Instances per user account
0
External services required

Role System

Granular access control with four progressive tiers.

1

User

Read-only access to wiki pages, canvas, and shared kanban boards.

2

Editor

Can create, edit, and delete wiki pages and manage categories.

3

Admin

Full management: users, settings, plugins, backups, import/export.

4

Protected Admin

Like Admin, but immune to modifications by other administrators.

The Story

February 2026

BananaWiki is born

Luca Zani (OverloadedTech), a high-school student, starts building BananaWiki as part of his PCTO (Percorsi per le Competenze Trasversali e l'Orientamento) at Canalescuola in Bolzano. The Officina Tecnologica, Canalescuola’s technology lab, needed a platform to deliver technical material to students on courses in welding, 3D printing, laser cutting and other technology disciplines.

Feb–May 2026

Active development

Luca develops the software on-site at Canalescuola during his PCTO. The platform grows rapidly: Markdown editor, 4-tier permission system, chat, kanban, canvas, 25 built-in plugins, and an SDK for external plugins. A genuine win-win collaboration — Luca gets his PCTO hours counted and has fun building it, Canalescuola gets a free, tailor-made software platform for their labs.

May 2026

Internal use & open source

BananaWiki is used internally at Canalescuola and by associated collaborators. The source code becomes publicly available on GitHub. The hosting platform enables multi-tenant deployment with isolated wiki instances per user. Luca and Canalescuola remain good friends and collaborators. Public availability is coming soon.

Quick Start

Up and running in under a minute.

๐Ÿ–ฅ๏ธ Local development

git clone https://github.com/OverloadedTech/BananaWiki.git
cd BananaWiki
make dev

Creates a virtualenv, installs dependencies, and starts the development server at http://127.0.0.1:5001.

๐Ÿš€ Production

python3 -m venv venv
. venv/bin/activate
pip install -r requirements.txt
./start.sh

Starts Gunicorn in production. Alternatively use sudo ./install.sh for a fully automated installation.

โ˜๏ธ Hosting Platform

make hosting-dev
# or
sudo ./hosting/install.sh

Start the multi-tenant hosting portal at http://localhost:5099. The first account is automatically promoted to platform admin.

โšก First run

  1. Start the app
  2. Open the browser — automatic redirect to /setup
  3. Create the administrator account
  4. Configure the site from Admin → Site Settings

Tech Stack

Backend
Python 3.9+ · Flask 3.1
Database
SQLite (WAL mode)
Frontend
Vanilla HTML/CSS/JS
WSGI
Gunicorn (prod) · Flask dev server
Auth
Sessions + werkzeug password hashing
Markdown
Python-Markdown + Bleach sanitisation
Tests
pytest · 3,100+ tests
External services
None — everything runs locally

Ready to explore?

BananaWiki is not yet available for public use. Currently used internally at Canalescuola — public availability coming soon. If you’re part of the internal team, create your own isolated wiki instance and start exploring.