Overview
Discover what makes Miaou powerful
Miaou is a fully self‑hosted, multi‑room chat server designed for developers who need a feature‑rich messaging platform without the constraints of SaaS solutions. At its core, Miaou provides real‑time communication through WebSocket (socket.io) while persisting all activity in a PostgreSQL database for auditability and search. Authentication is handled via OAuth2, allowing integration with external providers (GitHub, Google, etc.) or custom LDAP/AD setups. The server exposes a REST‑style API for room management, user administration, and plugin hooks, making it easy to embed into existing infrastructure or extend with custom logic.
Runtime & Language
Data Layer
Authentication
Templating & Frontend
Overview
Miaou is a fully self‑hosted, multi‑room chat server designed for developers who need a feature‑rich messaging platform without the constraints of SaaS solutions. At its core, Miaou provides real‑time communication through WebSocket (socket.io) while persisting all activity in a PostgreSQL database for auditability and search. Authentication is handled via OAuth2, allowing integration with external providers (GitHub, Google, etc.) or custom LDAP/AD setups. The server exposes a REST‑style API for room management, user administration, and plugin hooks, making it easy to embed into existing infrastructure or extend with custom logic.
Technical Stack
- Runtime & Language: Node.js (JavaScript/TypeScript), leveraging the event‑driven architecture of Express for HTTP endpoints and socket.io for real‑time messaging.
- Data Layer: PostgreSQL (primary persistence) with Redis as an in‑memory store for session caching and pub/sub coordination across clustered instances.
- Authentication: OAuth2 via Passport.js, supporting multiple strategies and custom callback endpoints.
- Templating & Frontend: Pug templates rendered server‑side, with jQuery and SASS/SCSS for dynamic UI components. Rich markdown rendering is powered by hu.js and custom link boxing logic.
- Media & Video: WebRTC for peer‑to‑peer video calls, with TURN/STUN servers configurable through environment variables.
- Testing & CI: Travis‑CI integration, Bluebird promises for async flow control, and a comprehensive test suite covering both unit and integration scenarios.
Core Capabilities
- Persistent, Searchable History: All messages are stored in PostgreSQL and indexed for full‑text search; APIs allow programmatic retrieval of conversation threads.
- Rich Markdown & Rendering: Supports code blocks, tables, and custom link boxing (e.g., GitHub issue links auto‑rendered with metadata).
- Private Rooms & Access Control: Fine‑grained ACLs per room, with optional password protection and invitation tokens.
- Plugins & Extensibility: A modular plugin system lets developers add new message processors, bots, or external integrations. Hooks are exposed for events such as
message.post,room.create, anduser.join. - Webhooks & GitHub Hooks: Built‑in support for receiving and reacting to GitHub events, enabling automated notifications or CI triggers within chat rooms.
- Notifications & Persistence: Users receive persisted notifications for mentions, private messages, and system events even when offline.
Deployment & Infrastructure
Miaou is designed for containerized deployment. A Docker image (available on Docker Hub) bundles Node, PostgreSQL, and Redis, with optional sidecar containers for TURN/STUN servers. The application can be scaled horizontally by running multiple Node instances behind an Nginx reverse proxy that balances WebSocket connections. Environment variables control all configuration, making it straightforward to integrate with Kubernetes secrets or Docker Compose setups.
Integration & Extensibility
- REST API: Endpoints for room CRUD, user lookup, and message querying.
- WebSocket Events: Clients can subscribe to custom events or broadcast messages programmatically.
- Plugin Development Docs: The
plugins/README.mddetails the API surface for plugin authors, including lifecycle hooks and configuration patterns. - Webhook Endpoints: Exposed URLs for third‑party services (e.g., GitHub) to post events; developers can write custom handlers or use existing plugins.
Developer Experience
Configuration is driven entirely by environment variables and a single config.json file, allowing zero‑touch deployment on most platforms. The documentation is organized into concise sections (Installation, Technical Stack, Plugin Development), with inline code examples that avoid clutter. Community support is active on dedicated chat rooms; contributors are encouraged to discuss before coding, ensuring alignment with project goals. The MIT license (with minor exceptions) guarantees freedom to modify and redistribute the code without licensing headaches.
Use Cases
- Enterprise Internal Chat: Deploy on a private network with LDAP authentication, leveraging the plugin system to integrate with internal ticketing or CI tools.
- Open‑Source Project Communication: Host a public room with GitHub hook integration to surface issue updates and PR discussions directly in chat.
- Real‑Time Collaboration Tool: Embed Miaou into a web application to provide instant messaging, video calls, and file sharing for project teams.
- Educational Platforms: Create private rooms per class or cohort, with persistent history for review and automated grading bots.
Advantages
- Performance: Node.js event loop combined with Redis pub/sub delivers low‑latency messaging even under high load.
- Flexibility: Full access to the codebase and plugin API means any feature can be added or replaced without vendor lock‑in.
- Licensing: MIT license removes commercial restrictions, allowing use in proprietary products.
- Community & Documentation: Active contributors and clear docs reduce onboarding time for new developers.
Miaou offers a robust, developer‑friendly platform that balances real‑time interactivity with durable storage and extensibility, making it an attractive choice for teams that need a customizable chat solution without external dependencies.
Open SourceReady to get started?
Join the community and start self-hosting Miaou today
Related Apps in apis-services
Mastodon
Decentralized, real‑time social networking
Discourse
Open‑source community forum platform with real‑time chat and AI
Rocket.Chat
Secure, open‑source team communication platform
Novu
Unified notification platform for multi‑channel delivery
Mattermost
Secure, self‑hosted team collaboration with chat, voice, and AI
Jitsi Meet
Free, encrypted video conferencing for everyone
Weekly Views
Repository Health
Information
Explore More Apps
MiroTalk C2C
Embed real‑time WebRTC video calls in any site
elixire
Self-hosted other
Mopidy
Self-hosted other
Black Candy
Self-hosted music streaming for your personal library

Yarn.social
Decentralized, privacy‑first microblogging for the modern web
DreamFactory
Auto‑generate secure, documented APIs for your data
