selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

plumio logo

Self-host plumio

v2.11.0

Self-hosted markdown notes with encryption and orgs

ReleaseOpen SourceAGPL-3.0
Updated2 days ago
LanguageTypescript
Setup difficultyModerate
MobilePWA
Stars
141
RAM
512M
Ports
3000 (Frontend), 3001 (Backend API)
Docker
ghcr.io/albertasaftei/plumio
Install with Docker Compose

What is plumio?

This application provides a markdown editor that runs on your own infrastructure. It combines a live preview pane with end-to-end encryption so the server never sees plaintext notes. Multiple people can have accounts on one installation, and organizations keep separate workspaces with their own members. Webhooks let other services react to changes in real time, while API keys enable scripted access. An optional daily backup job compresses and retains snapshots automatically. Deployment uses a single Docker Compose file that pulls the ghcr.io image, exposing a web frontend on port 3000 and a JSON API on port 3001 backed by SQLite. Unsigned desktop builds for Windows and macOS can also connect to a hosted instance. Recent updates added offline-capable PWA support, synchronization with Dropbox, Google Drive, and OneDrive, export to PDF and Markdown, Vim-style keybindings, a freehand sketching tool, tag-based organization, and partial translations.

plumio alternatives

Should you self-host plumio?

plumio scores 44/100 on selfhost.directory (how scoring works) and ranks #57 of 81 in Notes & Editors. It has 141 GitHub stars, +1 in the last 30 days.

It shipped 12 stable releases in the past year. The latest, v2.11.0, came out on 11 August 2026. New versions land roughly every 2 weeks.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is AGPL-3.0-licensed and written mostly in Typescript.

Its closest alternative on selfhost.directory is Memos (86/100, 64 184 stars). It scores higher overall, so compare the two before you pick. See plumio vs Memos side by side.

Features

  • API Key Management
  • End-to-end document encryption
  • Markdown editing with live preview
  • Multi-organization Support
  • Multi-user support
  • Webhook Support

plumio README

Header banner

plumio

Self-hosted markdown editor with live preview, document encryption, multi-user support, and multi-organization capabilities.

Demo   •   Docs

How to install plumio

Install plumio with Docker Compose

Docker and Docker Compose
Environment variables
JWT_SECRET, ENCRYPTION_KEY, ALLOWED_ORIGINS, ENABLE_ENCRYPTION, SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASS, SMTP_FROM, APP_URL, BACKEND_INTERNAL_PORT, DOCUMENTS_PATH, DB_PATH, FRONTEND_URL, FRONTEND_PORT

version: '3.8'

services: plumio: image: ghcr.io/albertasaftei/plumio:latest container_name: plumio restart: unless-stopped ports: - "3000:3000" # Frontend - "3001:3001" # Backend API environment: - NODE_ENV=production - BACKEND_INTERNAL_PORT=3001 - DOCUMENTS_PATH=/data/documents - DB_PATH=/data/plumio.db - JWT_SECRET=${JWT_SECRET} - ENCRYPTION_KEY=${ENCRYPTION_KEY} - ALLOWED_ORIGINS=http://${FRONTEND_URL}:${FRONTEND_PORT} - ENABLE_ENCRYPTION=true - SMTP_HOST=${SMTP_HOST} - SMTP_PORT=${SMTP_PORT} - SMTP_USER=${SMTP_USER} - SMTP_PASS=${SMTP_PASS} - SMTP_FROM=${SMTP_FROM} - APP_URL=${APP_URL} volumes: - plumio-data:/data networks: - plumio-network healthcheck: test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3001/api/health"] interval: 5m timeout: 10s retries: 3 start_period: 40s deploy: resources: limits: memory: 1G reservations: memory: 512M

volumes: plumio-data: driver: local

networks: plumio-network: driver: bridge

Requires JWT_SECRET and ENCRYPTION_KEY to be generated (openssl rand). Desktop app requires ALLOWED_ORIGINS to include app://plumio.

How to configure plumio

  • JWT_SECRETSecret key for JWT token signing
  • ENCRYPTION_KEYKey for document encryption
  • DOCUMENTS_PATH/data/documentsPath where documents are stored
  • DB_PATH/data/plumio.dbPath to SQLite database file
  • ENABLE_ENCRYPTIONtrueEnable end-to-end document encryption

    values: true/false

plumio releases & version history

More in Notes & Editors

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…