# Cinny — Self-Hosted Matrix Client for Encrypted Chat > Cinny is a sleek, open-source Matrix client with end-to-end encryption, custom themes, and full self-hosting support for private team communication. ## Install Save as a script file and run: # Cinny — Self-Hosted Matrix Client for Encrypted Chat ## Quick Use ```bash docker run -d --name cinny -p 8080:80 ajbura/cinny:latest # Open http://localhost:8080 and connect to your Matrix homeserver ``` ## Introduction Cinny is an open-source Matrix client designed for simplicity and usability. It provides a Discord-like chat interface on top of the decentralized Matrix protocol, supporting end-to-end encryption, spaces, and rich media out of the box. ## What Cinny Does - Connects to any Matrix homeserver with a modern, responsive web UI - Supports end-to-end encrypted messaging via the Matrix SDK - Organizes conversations with Spaces, rooms, and direct messages - Renders rich content including markdown, code blocks, and media embeds - Provides custom themes and appearance settings for personalization ## Architecture Overview Cinny is a single-page React application that communicates directly with a Matrix homeserver via the Client-Server API. It uses the matrix-js-sdk for protocol handling and olm/megolm for end-to-end encryption. The app can be served as static files from any web server or container, with no backend of its own. ## Self-Hosting & Configuration - Deploy via Docker with `ajbura/cinny` or build from source using Node.js - Configure the default homeserver URL in `config.json` before deployment - Serve behind a reverse proxy (Nginx, Caddy) with TLS for production use - Set Content-Security-Policy headers to restrict resource loading - Supports Progressive Web App (PWA) installation for mobile-like access ## Key Features - Clean, Discord-inspired UI that lowers the barrier to Matrix adoption - Full end-to-end encryption support with device verification flows - Spaces support for organizing rooms into categories and communities - Cross-signing and session management for multi-device users - Lightweight static deployment with no server-side dependencies ## Comparison with Similar Tools - **Element** — feature-complete but heavier; Cinny offers a simpler, faster interface - **FluffyChat** — mobile-focused with Flutter; Cinny targets the web primarily - **Hydrogen** — minimal and experimental; Cinny is more feature-rich for daily use - **Nheko** — native desktop Qt app; Cinny runs in any browser - **SchildiChat** — Element fork with layout tweaks; Cinny is built from scratch ## FAQ **Q: Does Cinny require its own Matrix server?** A: No. Cinny connects to any existing Matrix homeserver such as Synapse or Dendrite. **Q: Is end-to-end encryption enabled by default?** A: E2EE is supported and can be enabled per room. Cinny follows the Matrix protocol defaults. **Q: Can I use Cinny on mobile devices?** A: Yes. Cinny is a responsive web app and can be installed as a PWA on mobile browsers. **Q: How do I update a Docker deployment?** A: Pull the latest image with `docker pull ajbura/cinny:latest` and restart the container. ## Sources - https://github.com/cinnyapp/cinny - https://cinny.in --- Source: https://tokrepo.com/en/workflows/asset-491d4cd3 Author: Script Depot