60 lines
2.4 KiB
Markdown
60 lines
2.4 KiB
Markdown
<p align="center">
|
|
<img src="docs/docs/content/images/logo.svg" alt="EagleCast" width="240" />
|
|
</p>
|
|
|
|
# EagleCast
|
|
|
|
**EagleCast** is a standalone, self-hosted newsletter and mailing list manager with a sharp eye and serious wingspan. It is fast, feature-rich, and packed into a single binary. It uses a PostgreSQL database as its data store.
|
|
|
|
Send campaigns that soar: manage millions of subscribers across lists, run opt-in and transactional mailing, template with precision, and track every landing — all from one nest.
|
|
|
|
## Features
|
|
|
|
- Multiple lists, single and double opt-in
|
|
- Powerful subscriber querying and segmentation with SQL
|
|
- Rich campaign templating (HTML, Markdown, plain text, and a visual builder)
|
|
- Transactional mailing API
|
|
- Bounce processing (SES, SendGrid, Postmark, Forward Email, POP3, and more)
|
|
- Media management with filesystem or S3 storage
|
|
- Multi-user support with roles and granular permissions
|
|
- OIDC single sign-on
|
|
- Public archive pages and RSS
|
|
- Available in 35+ languages
|
|
|
|
## Installation
|
|
|
|
### Docker
|
|
|
|
The image is on the Gitea registry at `source.offmarket.win/aleagle/eaglecast:latest`.
|
|
Download the sample [docker-compose.yml](docker-compose.yml) and run:
|
|
|
|
```shell
|
|
# Run the services in the background.
|
|
docker compose up -d
|
|
```
|
|
|
|
To build the image yourself instead: `docker build -t source.offmarket.win/aleagle/eaglecast:latest .`
|
|
|
|
Visit `http://localhost:9000`
|
|
|
|
__________________
|
|
|
|
### Binary
|
|
- Build from source with `make dist` (requires `go`, `nodejs`, and `yarn`), producing the `eaglecast` binary.
|
|
- `./eaglecast --new-config` to generate config.toml. Edit it.
|
|
- `./eaglecast --install` to setup the Postgres DB (or `--upgrade` to upgrade an existing DB. Upgrades are idempotent and running them multiple times have no side effects).
|
|
- Run `./eaglecast` and visit `http://localhost:9000`
|
|
|
|
Full documentation lives in [docs/docs/content](docs/docs/content).
|
|
__________________
|
|
|
|
|
|
## Developers
|
|
The backend is written in Go and the frontend is Vue with Buefy for UI. See the [developer setup](docs/docs/content/developer-setup.md) to get airborne.
|
|
|
|
## License
|
|
EagleCast is licensed under the AGPL v3 license. It is a derivative work of the
|
|
[listmonk](https://listmonk.app) project — see [NOTICE](NOTICE) for attribution. The complete
|
|
source code is publicly available at
|
|
[source.offmarket.win/aleagle/EagleCast](https://source.offmarket.win/aleagle/EagleCast).
|