EagleCast

# 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).