Open-source email observability for AWS SES by Marc Köhlbrugge.
What is Sessy?
Amazon SES is a fantastic email service: cost-effective, reliable, and great deliverability. But it's frustratingly difficult to see what's actually happening with your emails.
That's why many people turn to overpriced email services that are often just glorified SES wrappers with a nice UI. You end up paying a lot for something you could do yourself.
Sessy is the open-source alternative. Use raw SES and still get a beautiful interface to see what happens after you hit send: deliveries, bounces, complaints, opens, clicks, and more.
Running your own Sessy instance
The easiest way to run Sessy is with Docker:
docker run -p 80:80 \
-e SECRET_KEY_BASE=$(openssl rand -hex 64) \
-e DISABLE_SSL=true \
-v sessy:/rails/storage \
ghcr.io/marckohlbrugge/sessy:mainSee Docker deployment docs for full configuration options.
Want to deploy your own modified version? See Kamal deployment docs for deploying from a fork.
Using Dokku? See Dokku deployment docs.
Need help configuring AWS SES itself? See AWS SES setup guide.
For hardening recommendations, see SES security and deliverability best practices.
Jobs dashboard
Sessy uses Solid Queue for background jobs. A web dashboard is available at /jobs to monitor queues, retry failed jobs, and view recurring tasks.
Development
You are welcome to modify Sessy to your liking.
To get started:
Contributing
We welcome contributions! Since we're still in a very early stage, please keep the following in mind:
- Typos and obvious bugs: Feel free to submit a PR directly.
- Code changes: Please try to match our existing style.
- New features: Please open an issue first to discuss before implementing.
For anything beyond small fixes, please open an issue first so no one wastes their time on something we might not merge.
License
Sessy is released under the O'Saasy License.
Inspiration
Sessy was heavily inspired by Fizzy and we're grateful to 37signals for open-sourcing their codebase.
