mayswind /
ezbookkeeping
A lightweight, self-hosted personal finance app with a user-friendly interface and powerful bookkeeping features.
93/100 healthLoading repository data…
xclusive36 / repository
A powerful, self-hosted Personal Knowledge Management system that rivals Obsidian. Built with Next.js and TypeScript, MarkItUp transforms markdown editing into a comprehensive second brain for organizing, linking, and discovering your thoughts.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
A powerful, self-hosted Personal Knowledge Management system that rivals Obsidian. Built with Next.js and TypeScript, MarkItUp transforms markdown editing into a comprehensive second brain for organizing, linking, and discovering your thoughts.
Breaking Change: Authentication now required by default. See docs/MIGRATION_4_0.md for migration guide or set
DISABLE_AUTH=truefor single-user mode.
See CHANGELOG.md for complete version history.
git clone https://github.com/xclusive36/MarkItUp.git
cd MarkItUp
npm install
npm run dev
Visit http://localhost:3000 and start building your knowledge base!
[[wikilinks]] and automatic backlinkstag:, folder:, exact phrases)#tags and automatic indexingAll AI features work with your choice of provider (OpenAI, Anthropic, Gemini, or Ollama):
MarkItUp features the most comprehensive Ollama integration in any PKM system:
Getting Started with Ollama:
brew install ollama (macOS) or visit ollama.aiollama serveollama pull llama3.2 or use MarkItUp's UIWhy Choose Ollama?
$math$ and block $$math$$ equations| Topic | Description |
|---|---|
| 🎯 Features | Complete feature overview and capabilities |
| ⚙️ Installation | Detailed setup and configuration guide |
| 📖 User Guide | How to use PKM features effectively |
| 🤖 AI Features | AI setup and advanced capabilities |
| 🤝 Collaboration | Real-time editing and sharing |
| 🔌 Plugin System | Using and developing plugins |
| 🐳 Deployment | Docker and production hosting |
| 🔧 API Reference | Technical documentation |
| ⚖️ Comparison | MarkItUp vs Obsidian and others |
🌐 Web-Native: Access from any device with a browser - no app installation required
🏠 Complete Privacy: Self-hosted solution means your data never leaves your control
🔗 Built for Connection: Native wikilinks, backlinks, and graph visualization
⚡ Modern Stack: Built with Next.js 16 and TypeScript for speed and reliability
🆓 Truly Free: Open-source with no licensing fees or feature restrictions
🚀 Extensible: Modern plugin architecture for unlimited customization
MarkItUp offers the most flexible AI integration in any PKM system:
| Feature | OpenAI | Anthropic | Gemini | Ollama |
|---|---|---|---|---|
| Streaming | ✅ | ✅ | ✅ | ✅ |
| API Key Required | ✅ Yes | ✅ Yes | ✅ Yes | ❌ None |
| Cost | $0.002-0.03/1K tokens | $0.003-0.015/1K tokens | $0.000075-0.00125/1K tokens | 🆓 Free |
| Context Window | 128K tokens | 200K tokens | 🚀 1M tokens | Varies by model |
| Model Management | ❌ | ❌ | ❌ | ✅ Yes |
| Advanced Options | ✅ | ✅ | ✅ | ✅ 8+ params |
| Privacy (Local) | ❌ Cloud | ❌ Cloud | ❌ Cloud | ✅ 100% Local |
| Connection Health | ✅ | ❌ | ✅ | ✅ Yes |
| Offline Mode | ❌ | ❌ | ❌ | ✅ Yes |
| Performance Tracking | ✅ | ✅ | ✅ | ✅ Yes |
| Usage Limits | Pay per use | Pay per use | Pay per use | ✅ Unlimited |
Choose the right provider for your needs:
⚠️ REQUIRED: Generate secure secrets before deploying:
# Generate JWT_SECRET
openssl rand -base64 32
# Generate ENCRYPTION_KEY
openssl rand -hex 16
Create docker-compose.yml:
version: "3.8"
services:
markitup:
container_name: markitup
ports:
- 3000:3000
# volumes:
# Optional: Uncomment to persist markdown files on host filesystem
# Note: Requires chmod 777 ./markdown for write permissions
# For managed hosting or ephemeral deployments, leave commented
# - ./markdown:/app/markdown
environment:
- PORT=3000
- HOSTNAME=0.0.0.0
- NODE_ENV=production
# REQUIRED: Replace with your generated secrets
- JWT_SECRET=your-generated-jwt-secret-here
- ENCRYPTION_KEY=your-generated-encryption-key-here
# Optional: Disable auth for testing (NOT FOR PRODUCTION)
# - DISABLE_AUTH=false
restart: unless-stopped
image: ghcr.io/xclusive36/markitup:latest
docker compose up -d
# Generate secrets
JWT_SECRET=$(openssl rand -base64 32)
ENCRYPTION_KEY=$(openssl rand -hex 16)
# Run without persistent storage (default)
docker run --name markitup -p 3000:3000 \
-e JWT_SECRET="$JWT_SECRET" \
-e ENCRYPTION_KEY="$ENCRYPTION_KEY" \
--restart unless-stopped \
ghcr.io/xclusive36/markitup:latest
# OR with persistent storage
docker run --name markitup -p 3000:3000 \
-v ./markdown:/app/markdown \
-e JWT_SECRET="$JWT_SECRET" \
-e ENCRYPTION_KEY="$ENCRYPTION_KEY" \
--restart unless-stopped \
ghcr.io/xclusive36/markitup:latest
By default, data lives in the container. To persist data on your host:
-v ./markdown:/app/markdown to docker run# Easy method (all users can write)
chmod -R 777 ./markdown
# Secure method (container user only)
sudo chown -R 1001:1001 ./markdown
For managed hosting, skip volume mounts and implement alternative storage (S3, database, etc.)
MarkItUp supports both multi-user authenticated mode (default, recommended) and single-user unauthenticated mode for personal self-hosted deployments.
Features:
/markdown/user_{id}/ directoryRequirements:
JWT_SECRET and ENCRYPTION_KEY environment variablesFor personal self-hosted instanc
Selected from shared topics, language and repository description—not editorial ratings.
mayswind /
A lightweight, self-hosted personal finance app with a user-friendly interface and powerful bookkeeping features.
93/100 healthLitlyx /
Powerful Analytics Solution. Setup in 30 seconds. Display all your data on a Simple, AI-powered dashboard. Fully self-hostable and GDPR compliant. Alternative to Google Analytics, MixPanel, Plausible, Umami & Matomo.
90/100 healthBansheeTech /
An intuitive, versatile, and powerful home server operating system for self-hosting. Featuring a curated app store and seamless multi-platform support, it’s designed to empower your personal cloud on Raspberry Pi, x86 systems, or your preferred setup.
79/100 healthMerlinStacks /
OverSeek is your open-source command center—a self-hosted, privacy-first platform that unifies analytics, automation, inventory, and customer intelligence into one powerful dashboard for woocommerce
79/100 healthMerlinStacks /
A powerful social media management platform with multi-track video editing (Remotion), unified publishing across Instagram, TikTok, YouTube & more. Features AI-powered caption generation, cross-platform analytics, comment management, e-commerce sync (Shopify/WooCommerce), and a comprehensive media library. Built with Next.js 16 & Prisma.
79/100 healthhere-tunan /
🚀 A feature-rich, full-stack blog engine built with Go (Fiber) and Next.js (React, Ant Design). Includes a powerful admin panel, Markdown support, and is ready to deploy.
80/100 health