2 releases
0.1.0-beta.0 | Feb 10, 2025 |
---|---|
0.1.0-alpha.0 | Jan 17, 2025 |
#61 in Database interfaces
142 downloads per month
285KB
6.5K
SLoC
Pinka π¦
A highly available, ActivityPub-powered commenting system that bridges the gap between web comments and the Fediverse. Perfect for blogs looking to engage with Mastodon and other ActivityPub-compatible platforms.
The name "Pinka" comes from the Lojban word meaning "to comment" (xβ is a comment/remark about subject xβ expressed by xβ to audience xβ). This reflects both the project's core purpose and its systematic approach to federated communications.
[!WARNING] Pinka is still under active development. The database schema might change between minor versions. See FEATURES.md for currently implemented features.
[!NOTE] Federating with Mastodon mostly works now!
β¨ Features
-
π Full ActivityPub Integration
- Actor profile, inbox, and outbox support
- Seamless federation with Mastodon and other Fediverse platforms
-
π― Easy Integration
- RESTful API for comment management
- Drop-in web components for instant commenting functionality
-
π¨ Highly Customizable
- Flexible Tera templating system
- Fully customizable via CSS
-
π Built for Reliability
- Raft-based clustering powered by Ractor actor system
- Self-healing data replication
- Robust comment moderation system
-
π¦ Zero External Dependencies
- Powered by Fjall, an embedded key/value database
- No external database setup or management required
- Self-contained and easy to deploy
π‘ Why Pinka?
Pinka is designed to be simple to deploy and easy to maintain. With its embedded Fjall database and Ractor-based clustering, you don't need to worry about:
- Setting up external databases
- Complex deployment procedures
- Additional infrastructure costs
- Cluster coordination complexity
Just deploy and run!
π Quick Start
cargo install --locked pinka
pinka run -c examples/config-single.toml
π Documentation
For detailed documentation, please visit our website (π§).
π οΈ Integration Example
<pinka-comments
site="your-site-url"
page-id="unique-page-id">
</pinka-comments>
π€ Contributing
We welcome contributions! By contributing, you agree to license your work under MIT OR Apache-2.0 license.
Please read our CONTRIBUTING.md for:
- Development setup
- Coding guidelines
- DCO requirements
- Pull request process
- Community guidelines
π License
This project is licensed under either of:
at your option.
π Acknowledgments
Pinka stands on the shoulders of giants. Special thanks to:
- Fjall - The robust embedded key/value database that powers our storage layer
- Ractor - The excellent actor system that enables our reliable clustering capabilities
Thanks to all contributors who help make Pinka better!
Dependencies
~107MB
~2.5M SLoC