Skip to main content

Repositories

RapidMX is split across many repositories under the rapidmx GitHub organization, plus the rapidrest framework it is built on. Each repository is versioned and released on its own and depends on the others through published npm packages, not a monorepo workspace. A change that spans repositories is therefore released in dependency order: restapi first, then web-client, then the plugins, then server. See Releasing.

Use this page to find where a piece of code lives. Architecture explains how the pieces fit together at runtime.

RapidMX​

The core​

RepositoryPackageWhat it isStatus
serverImage ghcr.io/rapidmx/server, chart oci://ghcr.io/rapidmx/charts/serverThe mail server a deployment runs: mounts the REST API, renders the web pages, loads plugins. Also holds the Docker Compose files, the Helm chart, the k3s installer and the AWS CloudFormation template.Beta (1.0.0-beta series)
restapi@rapidmx/restapiThe core library: data models, REST routes, ingestion, scanning, search, encryption, escrow and compliance.Published, 0.x
web-client@rapidmx/web-clientThe webmail, admin console and escrow console pages, plus lib/: API clients, hooks and generic UI components.Published, 0.x

Plugins​

RepositoryPackageWhat it isStatus
activesync@rapidmx/activesync-pluginExchange ActiveSync for phones and tablets: mail, contacts, calendar and tasks, with remote wipe.Published, installed by default
mapi@rapidmx/mapi-pluginMAPI over HTTP for Outlook on the desktop.Published, installed by default
autodiscover@rapidmx/autodiscover-pluginAutodiscover, so ActiveSync and Outlook clients configure themselves from an e-mail address.Published, installed by default
booking-plugin@rapidmx/booking-pluginPublic booking pages that schedule meetings against a mailbox's calendar.Published, installed by default
meet-plugin@rapidmx/meet-pluginPeer-to-peer WebRTC video meetings, joinable from a calendar invite or a shared link.Published
crm-plugin@rapidmx/crm-pluginCustomer relationship management and marketing: contacts, companies, mailing lists, forms and templates.Published, early (0.2)
chat-plugin@rapidmx/chat-pluginReal-time rich-text chat.Preview. Not yet on GitHub or npm.

Mail transport​

RepositoryPackageWhat it isStatus
postfix-bridgeImage ghcr.io/rapidmx/postfix-bridge, chart oci://ghcr.io/rapidmx/charts/postfix-bridgePostfix plus a small bridge service that connects it to the server's /internal/mta ingest contract. Bundled with the server's Helm chart.Released
ses-bridge@rapidmx/ses-bridgeAmazon SES transport: an outbound MailTransport and a CDK stack for inbound mail.Early (0.1), not yet on npm

Other services and clients​

RepositoryPackageWhat it isStatus
acme-serverImage ghcr.io/rapidmx/acme, chart oci://ghcr.io/rapidmx/charts/acmeA standalone ACME certificate authority for S/MIME certificates, planned for acme.rapidmx.io. Its root is not in any public trust store.Early (0.x), private npm package
tauri-clientNone (an app)The native desktop and mobile app, built with Tauri v2 (Rust plus the web-client pages).Preview. Not packaged or signed yet.
react-shared@rapidmx/react-sharedFormer shared React library.Merged into @rapidmx/web-client as its lib/ directory. Nothing builds here any more.
rapidmx.ioNone (a website)This website. See Contributing to this site.Not yet on GitHub

A customer's branding (header, footer and stylesheet files uploaded through the admin console) is configuration, not code, and is not kept in any of these repositories.

RapidREST​

RapidMX is built on the RapidREST framework, which has the same maintainer. When a bug turns out to be in the framework, fix it there rather than working around it in RapidMX. The framework is documented at rapidrest.dev.

RepositoryPackageWhat RapidMX uses it for
core@rapidrest/coreDependency injection, configuration, logging and shared utilities.
service-core@rapidrest/service-coreThe HTTP server, routes, models and datastores, ACLs, background jobs, the /push WebSocket and test helpers.
react@rapidrest/reactServer-side rendering of the web-client pages, hydration and the client-side router.
auth@rapidrest/authThe authentication library the auth-server is built from.
auth-serverImage ghcr.io/rapidrest/auth-serverThe sign-in service every RapidMX deployment runs.
cli@rapidrest/cliThe rapidrest command: dev, build, test and release.
rapidrest.ioNone (a website)The rapidrest.dev documentation site.

The rapidrest/mail and rapidrest/mail-server repositories are the predecessors that RapidMX was split out of. New work does not go there.

Licenses​

Every RapidMX code repository listed above, and the RapidREST libraries RapidMX depends on, is licensed under the Mozilla Public License 2.0. See Contributing for what that means for your contributions.