Palpo is a next-generation Matrix homeserver implementation written in Rust, designed for high performance, scalability, and robust federation. Built on the Salvo web framework and PostgreSQL database, Palpo delivers enterprise-grade real-time messaging and collaboration while maintaining minimal operational overhead.
Matrix is an open standard for decentralized, real-time communication. It enables:
- End-to-end encrypted messaging - Secure conversations by default
- Federated architecture - No single point of control or failure
- Interoperability - Bridge with other chat platforms (Slack, Discord, IRC, etc.)
- VoIP and Video Calling - Built-in support for voice and video
- Rich messaging - Reactions, threads, file sharing, and more
Learn more at matrix.org
- Built with Rust for memory safety and zero-cost abstractions
- Powered by Salvo web framework for high-throughput async I/O
- PostgreSQL backend for reliable data persistence and ACID compliance
- Optimized for low latency and high concurrency
- Clean, modular codebase
- Well-documented APIs
- Docker-ready deployment
- Minimal memory footprint compared to reference implementations
- Efficient database query patterns
- Smart caching strategies
- Scales horizontally
Our test server is for evaluation and testing purposes only:
- URL:
https://test.palpo.im β οΈ All data on this server will be periodically deleted without notice- Do NOT use for production or store important conversations
- Expected to be reset frequently for testing purposes
- Open Cinny
- Click "Edit" on the homeserver selection
- Enter
https://test.palpo.imas your custom homeserver - Create a test account and start chatting!
- Download Element
- On login screen, click "Edit" next to the homeserver
- Enter
https://test.palpo.im - Register or login
Production Server:
- URL: https://matrix.palpo.im
- This is a more stable instance, but still under active development
- Rust 1.89 or higher
- PostgreSQL 16 or higher
- Linux, macOS, or Windows (WSL2 recommended)
# Clone the repository
git clone https://github.com/palpo-im/palpo.git
cd palpo
# Build the project
cargo build --release
# Copy example configuration
cp palpo-example.toml palpo.toml
# Edit configuration (set your domain, database credentials, etc.)
nano palpo.toml
# Run the server
./target/release/palpo# Pull the image
docker pull ghcr.io/palpo-im/palpo:latest
# Run with docker-compose
cd deploy/docker
docker-compose up -dSee installation for detailed deployment instructions.
We use Complement for comprehensive end-to-end testing against the Matrix specification.
- Test Results: test_all.result.jsonl
- Test Coverage: Continuously improving compliance with Matrix spec
- Federation: Active testing with other homeserver implementations
β Client-Server API
- User registration and authentication
- Room creation and management
- Message sending and retrieval
- Typing indicators and read receipts
- Presence tracking
- Media upload and download
- Search functionality
β Server-Server API (Federation)
- Event signing and verification
- Room state resolution
- Backfill and history visibility
- Public room directory federation
- Server key exchange
β End-to-End Encryption
- Device management
- Key sharing and backup
- Cross-signing support
We welcome contributions of all kinds! Whether you're:
- π Fixing bugs
- β¨ Adding features
- π Improving documentation
- π§ͺ Writing tests
- π¨ Improving UX
Palpo stands on the shoulders of giants. We're grateful to these projects:
- Conduit - Pioneering lightweight Matrix homeserver in Rust
- Ruma - Essential Matrix types and protocol implementations
- Tuwunel - Innovative Matrix server architecture insights
- Salvo - High-performance async web framework
- Matrix.org - For creating and maintaining the Matrix protocol
Palpo is licensed under the Apache License 2.0. See LICENSE for details.
- Website: https://palpo.im
- Source Code: https://github.com/palpo-im/palpo
- Issue Tracker: https://github.com/palpo-im/palpo/issues
- Demo Server: https://test.palpo.im
β οΈ Test data will be deleted
The test server at test.palpo.im is for evaluation only.
- All accounts, rooms, and messages may be deleted at any time
- Data is not backed up
- Service may be interrupted for updates
- Do not rely on this server for any important communications
Palpo is under active development. While we strive for stability:
- Always backup your database
- Test updates in a staging environment
- Monitor server logs and performance
Built with β€οΈ by the Palpo community