I've packaged Warmbly, an Apache-2.0 platform for B2B cold outreach, as a community app. Connect your sending mailboxes and run multi-step campaigns across them, with warmup, a unified inbox for every reply, a CRM, hosted lead-capture forms and open/click tracking on your own tracking domain.
[image: Warmbly mailboxes and warmup]
Install: add this catalog under Settings ā Community apps, then install Warmbly from the App Store:
https://raw.githubusercontent.com/marcusquinn/cloudron-warmbly-app/main/CloudronVersions.json
or cloudron install --versions-url <that URL> --location warmbly.example.com. The installer asks for four secondary domains: API, admin panel, tracking and forms.
What fits in with Cloudron
Single sign-on, and the first sign-in claims it: open the app and choose Continue with your Cloudron. You don't need to type an email or password, and the first person to sign in becomes the owner and platform admin. Until then, password sign-ups are closed, so nobody can claim a fresh install before you do. After that, the app's access control decides who gets in. Password sign-up stays invitation-only.
Platform email (sign-in codes, password resets, invitations, digests) goes through the Cloudron mail relay.
Sending mailboxes on Cloudron Mail work over IMAP/SMTP. Gmail and Microsoft 365 work with your own OAuth clients (the README has the redirect URIs).
Tracking domains: use a separate registered domain for opens, clicks and unsubscribes. Customers' own tracking domains (a CNAME to yours) are added as aliases of the app, so Cloudron issues their certificates.
The whole self-host stack (API, event consumer, mailbox worker, tracking, forms, realtime gateway and NATS JetStream) runs in one container on the PostgreSQL and Redis addons. Data and encryption keys are in Cloudron backups.
Good to know
2 GiB memory default; raise it for many mailboxes. Requires Cloudron 9.1+.
Billing, update checks, CAPTCHA and product analytics are off. It runs on a single node; upstream's multi-node worker fleet isn't used.
The dashboard updates live through the API domain. Upstream's CLI event stream and SDKs can't discover the realtime socket on this package yet.
The image uses upstream's release images, pinned by digest, plus one small patch (the first Cloudron sign-in becomes owner). The patch is in the repo, and I'd like to upstream it.
Images and the catalog carry GitHub build provenance.
Links
Package, setup guide and issues:
https://github.com/marcusquinn/cloudron-warmbly-app
Warmbly:
https://github.com/warmbly/warmbly
Docs:
https://docs.warmbly.com
App Wishlist post with further info and screenshots:
https://forum.cloudron.io/topic/16228/warmbly-free-open-source-alternative-to-warmly-instantly-apollo-smartlead-listkit-lemlist-zoominfo-mailreach-warmforge-etc
This is a first release, so feedback is welcome, especially on deliverability with Cloudron Mail mailboxes and on tracking-domain setups.
I maintain the package independently of the Warmbly project; please report packaging problems on the package repo rather than upstream.