MiniMost v0.0.1 — Initial Release
MiniMost is a lightweight, self-hosted chat platform for private networks. It runs entirely on Python and SQLite — no external database, no root access, no infrastructure. Just Flask and a browser.
Highlights
- 💬 Channels & DMs — configurable public channels, invite-only private channels you can rename and manage, plus one-on-one and group direct messages.
- 🔍 Searchable history — every message is saved and full-text searchable; new users see history from day one.
- ✏️ Rich messaging — quote-replies, edits, deletes, emoji reactions, and inline image attachments (paste, drag-and-drop, or paperclip), all syncing in real time.
- 👀 Presence & @mentions — online status, typing indicators, and @mention/@everyone pings with sound + desktop notifications and read receipts.
- 📞 Voice, video & screen sharing — calls and screen shares from any DM or private channel, growing into group calls with live speaking indicators.
- 🛡️ LAN-first, peer-to-peer media — WebRTC media flows directly between participants and never touches the server; a bundled STUN server means nothing external to configure, even on air-gapped LANs.
- 🔒 Security-minded — PBKDF2 salted/hashed passwords with enforced complexity, read-protected message database, parameterized queries throughout, and account lockout on repeated failed logins.
- 🧹 Self-maintaining — a background thread prunes old messages/attachments by age and trims by size cap; no cron job required.
- 🎨 Personalization — avatars, display-name colors, hideable DM threads, configurable per-session notifications, dark theme, and a touch-friendly responsive layout with Vim-style keyboard shortcuts.
- 🗑️ Account self-deletion & 🔑 admin password reset — soft/hard self-delete with password confirmation, and CLI-generated one-time reset links.
Requirements
- Python 3.6+
- Flask
Installation
pip install minimost
Then run:
minimost
On first run, MiniMost generates a self-signed TLS certificate in pure Python and serves over HTTPS at https://127.0.0.1:5000. Use --host / --port to change the bind address.
Free and MIT licensed — no license keys, no user limits, no hidden enterprise edition. What you read is exactly what you run.