Self-host marchat
v1.3.8Terminal chat with WebSocket server and TUI client
- Stars
- 139
- Ports
- 8080 (WebSocket server (ws://)), 8443 (HTTPS/WebSocket with Caddy reverse proxy (wss://))
codecodesxyz/marchatWhat is marchat?
marchat is a command-line chat application aimed at developers. It provides a Go-based WebSocket server paired with a Bubble Tea terminal interface, plus separate graphical clients. The server can use SQLite, PostgreSQL, or MySQL for storage. Core capabilities include real-time messaging with editing, deletion, pinning, and emoji reactions, private direct messages, multi-room channels, typing indicators, and read receipts. Optional end-to-end encryption uses a shared ChaCha20-Poly1305 key. Files up to 1 MB can be transferred. A plugin system pulls extensions from a remote registry. Both terminal and web-based admin panels are included. Themes, notifications with scheduling, and health endpoints round out the feature set. Supported platforms include Linux, macOS, Windows, and Android via Termux. Deployment options cover Docker, Docker Compose, standalone binaries, and several package managers. The codebase is MIT-licensed and under active development.
Should you self-host marchat?
marchat scores 49/100 on selfhost.directory (how scoring works) and ranks #51 of 110 in Chat. It has 139 GitHub stars.
It shipped 12 stable releases in the past year. The latest, v1.3.8, came out on 1 October 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 MIT-licensed and written mostly in Go.
Its closest alternative on selfhost.directory is Zulip (82/100, 26 127 stars). It scores higher overall, so compare the two before you pick. See marchat vs Zulip side by side.
Features
- Admin Controls
- Channels
- Direct Messages
- E2E EncryptionUses shared symmetric key model, not pairwise Signal-style key exchange
- File sharing
- Health Monitoring
- Message management
- Plugin System
- Read Receipts
- Real-time Chat
- Smart Notifications
- Terminal Admin PanelRequires terminal environment (auto-disabled in systemd/non-terminal)
- Terminal UI
- Typing Indicators
marchat README
More in Terminal
MulmoTerminalSelf-hosted browser terminal running multiple AI coding agents in a grid, color-coded by state. Uses tmux for persistence and git worktrees for isolation.
Myrlin WorkbookSelf-hosted workspace manager that unifies Claude Code and Codex sessions with live terminals, scrollback, cost tracking, kanban, and phone UI.
nexus4ccSelf-hosted web terminal bridging browsers to tmux sessions running Claude Code and other AI agents, with project/channel management, file browser, and PWA support.
NoEyesSelf-hosted terminal chat with E2E encryption and a blind-forwarder server that cannot read messages or identify users. For small trusted groups wanting private comms.
Open TerminalA self-hosted, open-source terminal server exposing a real remote shell and file APIs over REST for AI agents and automation; deploy via Docker, pip, or uvx.
oxkerAn open-source, self-hosted terminal UI, written in Rust, for watching Docker containers, tailing logs, and running start/stop/exec commands from the keyboard.
reminalreminal is a self-hosted, open-source tool that streams windows, desktops, and terminals to any browser with end-to-end encryption and no open ports.
remotelabSelf-hosted tool for accessing AI coding assistants like Claude Code and Copilot from any browser via HTTPS, with multi-session dashboard and terminal persistence.
RoamgateOpen-source browser/PWA client for self-hosted Herdr, unifying terminals, agents, files, and Git worktrees in one web workspace.
shell.onlineSelf-hosted terminal sharing for coding agents — run Claude Code on your computer, access live sessions from any browser with end-to-end encryption.
SidecarSidecar is a self-hosted terminal workspace unifying AI coding agents, task management, git workflows, and file browsing in one interface with split panes.
skiffSkiff is a self-hosted, open-source SSH manager with searchable command memory, persistent sessions, and encrypted vault. Runs via Docker or Node.js with SQLite.





0 comments