2025-01-06 14:09:40 +00:00
|
|
|
# `chorus`: Email-based comments
|
2024-12-24 14:43:23 +00:00
|
|
|
|
2025-01-21 02:12:47 +00:00
|
|
|
This is a system for adding comments to arbitrary sites like a blog. Rather than requiring users to have an account
|
|
|
|
with your blog or a 3rd-party comments platform, it uses email.
|
2024-12-24 14:43:23 +00:00
|
|
|
|
2025-01-21 02:12:47 +00:00
|
|
|
## Features
|
2024-12-24 14:43:23 +00:00
|
|
|
|
2025-01-21 02:12:47 +00:00
|
|
|
- Works with any mail server that supports arbitrary mailbox aliases (e.g. `user+alias@example.com`)
|
|
|
|
- Writes out comments as static JSON files so they can be served by your webserver of choice
|
|
|
|
- Handles arbitrarily deep replies to comments
|
|
|
|
- Threads generate UUIDs and don't need to pre-register with Chorus
|
|
|
|
- **WIP** DKIM verification for incoming mail
|
|
|
|
- Optionally, only include comments that have been moderated/approved by the admin
|
2024-12-24 14:43:23 +00:00
|
|
|
|
2025-01-21 02:12:47 +00:00
|
|
|
## Principles
|
2024-12-24 14:43:23 +00:00
|
|
|
|
2025-01-21 02:12:47 +00:00
|
|
|
1. Email, as a federated and decentralized communication protocol, is good.
|
|
|
|
2. Independent blogs and websites that do not rely on a large 3rd-party platform are good.
|
|
|
|
3. Users should not have to create an account with every individual website to participate in a discussion thread.
|
|
|
|
4. Individual threads should not have to pre-register with the comment server.
|
|
|
|
|
|
|
|
## How It Works
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Configuration
|
|
|
|
|
|
|
|
Configuration is handled via environment variables:
|
|
|
|
|
|
|
|
- `CHORUS_IMAP_HOST`
|
|
|
|
- `CHORUS_IMAP_PORT` 993
|
|
|
|
- `CHORUS_IMAP_USER`
|
|
|
|
- `CHORUS_IMAP_PASS`
|
|
|
|
- `CHORUS_THREAD_TEMPLATE`
|
|
|
|
- `CHORUS_DATA_DIR` chorus-data
|
|
|
|
- `CHORUS_MAILBOX`
|