Show HN: Marchat – 6 MB terminal chat with encryption and plugin support

1 Cod-e-Codes 0 8/12/2025, 1:34:57 PM
We built marchat as a lightweight, terminal-native group chat app in Go with Bubble Tea for the TUI. It runs a full server in ~6MB RAM (idle ~4-5MB, low CPU), making it perfect for self-hosting on VPS, Raspberry Pi, Unraid (template in progress), or even mobile via Termux on Android (client ~30-45MB RSS, ~5% CPU, minimal battery drain).

Key features: - Real-time WebSocket messaging with optional E2E encryption (X25519/ChaCha20-Poly1305) - File sharing (up to 1MB) with commands like :sendfile/:savefile - Plugin ecosystem: TUI store for browsing/installing (WIP), SDK for custom plugins (e.g., echo — more to come), subprocess isolation for security, and Ed25519 licensing - Themes (e.g., patriot, retro, and modern), partial emoji auto-conversion - Admin tools (:kick, :ban, :cleardb) and message retention (1000 cap, SQLite backend) - Simple JSON protocol for bots or alternative clients - Offline-first design, with history loading on connect

Tested in real setups: Docker server in one city, clients via nginx proxy from others—no drops, seamless mobile-to-desktop transfers. Even hosted the server on Android Termux with PC clients connecting flawlessly.

For easy deployment, marchat is also available on Docker Hub: https://hub.docker.com/r/codecodesxyz/marchat

Roadmap includes DB abstraction (PostgreSQL/MySQL support), perf tweaks (WAL mode, indexing, caching), and plugin enhancements (auto-updates, metrics). Featured on selfh.st and mtkblogs—grateful for the early spotlight!

Would love HN feedback on the architecture, plugin system, or use cases (e.g., dev teams, edge/IoT chats). Open to contribs of all kinds including doc clarification/refactor.

GitHub: https://github.com/Cod-e-Codes/marchat

Docker Hub: https://hub.docker.com/r/codecodesxyz/marchat

Comments (0)

No comments yet