Overview
ejabberd web admin console
The ejabberd web administration console served behind nginx, with its menu of virtual hosts, Erlang nodes and multi-user chat, reached with the per-instance administrator credentials.
ejabberd web admin console
Virtual host administration
Manage users
Multi-user chat rooms
This is a repackaged open source software product wherein additional charges apply for cloudimg support services.
Why This AMI
Deploying an XMPP messaging server from scratch means installing Erlang, configuring ejabberd, setting up a reverse proxy, hardening credentials, and separating data storage - hours of work before the first message is sent. This AMI eliminates that complexity. Within minutes of launch you have a fully configured ejabberd server accepting client connections, with its web admin console accessible behind nginx, a unique administrator account generated automatically, and your database on a dedicated resizable disk. Unlike hosted chat platforms, you retain full data sovereignty on your own AWS infrastructure while speaking the open XMPP standard.
Overview
ejabberd is a robust, massively scalable self-hosted XMPP (Jabber) real-time messaging server. It powers instant messaging, presence, multi-user chat rooms (MUC), publish-subscribe and push notifications for your own users and applications. Any standards-compliant XMPP client - desktop, mobile or web - can connect. The current release available is ejabberd .
Application Stack
- ejabberd installed from the official ProcessOne binary package with bundled Erlang/OTP runtime
- systemd managed service account, starting on boot and restarting on failure
- nginx reverse proxy fronting the web admin console on loopback, with WebSocket upgrade configured for XMPP-over-WebSocket and BOSH clients
- XMPP ports 5222 (client-to-server) and 5269 (server-to-server) exposed directly; only ports 5222, 5269, and 443 are open by default
- Dedicated data disk holds configuration, Mnesia database (accounts, rosters, rooms), and generated certificates - independently resizable and separate from the OS disk
Real-Time Messaging at Scale
Register users, create multi-user chat rooms, and manage rosters, shared roster groups and PubSub nodes from the web admin console or the command line. ejabberd handles client-to-server and federated server-to-server connections, offline message storage, message archive management, and push notifications. It clusters across multiple nodes for high availability and horizontal scale.
Security
- Hardened first boot: A one-shot service generates a fresh administrator account with a password unique to that instance, grants it server-administration rights, and records the credentials in a file only the root user can read. No shared or default messaging account ships in the image.
- TLS enforcement: nginx is configured with TLS 1.2+ and modern cipher suites for the web admin console. Configure your trusted certificate for client and federation connections.
- Minimal attack surface: Only ports 5222, 5269, and 443 are open by default. Combine with AWS Security Groups and VPC network isolation for defense in depth.
Getting Started
- Launch the AMI in your chosen AWS region and instance type
- Ensure your Security Group allows inbound on ports 443, 5222, and 5269
- SSH into the instance and read the generated admin credentials from the root-only file
- Open the web admin console at https://your-instance-ip in your browser
- Sign in with the full Jabber ID and generated password
- Register your first users and create chat rooms
- For production, set your real XMPP domain and install a trusted TLS certificate
A built-in health endpoint answers on the reverse proxy for load-balancer and uptime checks.
Use Cases
- Healthcare messaging: A private, self-hosted messaging backbone for clinical teams requiring data sovereignty and network isolation on AWS
- Application-embedded chat: Real-time chat and notification service for your SaaS platform, delivering messages to thousands of concurrent users via standard XMPP clients
- Enterprise collaboration: Multi-user chat rooms and group messaging on your own infrastructure as a self-hosted alternative to third-party platforms
- Federated communications: An XMPP server that interoperates with other Jabber servers across organizational boundaries
- IoT and push notifications: PubSub-based event distribution to mobile and embedded devices at scale
cloudimg Support
24/7 technical support by email and live chat. Our engineers help with deployment, XMPP domain and certificate configuration, client and federation setup, chat-room and access-control design, clustering, storage and upgrade planning. Book a guided setup session by contacting our team to get your production deployment running with expert assistance.
Highlights
- Production-ready XMPP messaging in minutes - not hours of manual setup. This AMI delivers ejabberd fully installed with nginx reverse proxy, web admin console, and WebSocket support so your first users can connect immediately after launch, unlike bare installs that require manual Erlang, proxy, and credential configuration.
Details
Introducing multi-product solutions
You can now purchase comprehensive solutions tailored to use cases and industries.
Features and programs
Financing for AWS Marketplace purchases
Pricing
Free trial
- ...
Dimension | Description | Cost/hour |
|---|---|---|
t3.small Recommended | t3.small | $0.04 |
t2.micro | t2.micro instance type | $0.04 |
t3.micro | t3.micro instance type | $0.04 |
c5a.12xlarge | c5a.12xlarge instance type | $0.24 |
c5a.16xlarge | c5a.16xlarge instance type | $0.24 |
c5a.24xlarge | c5a.24xlarge instance type | $0.24 |
c5a.2xlarge | c5a.2xlarge instance type | $0.24 |
c5a.4xlarge | c5a.4xlarge instance type | $0.24 |
c5a.8xlarge | c5a.8xlarge instance type | $0.24 |
c5a.large | c5a.large instance type | $0.08 |
Vendor refund policy
Refunds available on request.
How can we make this page better?
Legal
Vendor terms and conditions
Content disclaimer
Delivery details
64-bit (x86) Amazon Machine Image (AMI)
Amazon Machine Image (AMI)
An AMI is a virtual image that provides the information required to launch an instance. Amazon EC2 (Elastic Compute Cloud) instances are virtual servers on which you can run your applications and workloads, offering varying combinations of CPU, memory, storage, and networking resources. You can launch as many instances from as many different AMIs as you need.
Version release notes
Initial release of ejabberd 26.04 as a ready-to-use self-hosted XMPP messaging server with the built-in web admin console behind nginx and the server-administrator account generated on first boot.
Additional details
Usage instructions
Connect via SSH on port 22 as the default login user for your operating system variant (for the Ubuntu 24.04 variant the user is ubuntu). Retrieve the generated admin credentials with: sudo cat /root/ejabberd-credentials.txt. Open the ejabberd web admin console in a browser at http://<instance-public-ip>/admin/ and sign in with the full Jabber ID admin@localhost and the generated password (the web admin uses HTTP Basic authentication). Register users and create multi-user chat rooms from the console, or from the command line with sudo ejabberdctl register <user> localhost <password>. XMPP clients connect on port 5222 (client-to-server) and other servers federate on port 5269 (server-to-server); the web admin is served by nginx on port 80 (ejabberd runs on loopback 5280) and an unauthenticated health endpoint is available at http://<instance-public-ip>/healthz. ejabberd's configuration, Mnesia database and certificates live on a dedicated data disk mounted at /var/lib/ejabberd. The instance security group opens ports 22, 80, 443, 5222 and 5269. ejabberd runs under systemd: systemctl status ejabberd; manage it with sudo ejabberdctl. For production, edit the hosts setting in /var/lib/ejabberd/conf/ejabberd.yml to your real XMPP domain and install a trusted certificate (for example with Let's Encrypt) so remote users and federated servers can connect securely.
Resources
Vendor resources
Support
Vendor support
cloudimg Support
cloudimg provides 24/7 technical support for this ejabberd AMI product via email and live chat.
What we help with:
- Deployment and initial configuration
- XMPP domain and TLS certificate setup
- Client connectivity and federation configuration
- Multi-user chat room and access-control design
- Clustering and high-availability planning
- Storage resizing and version upgrades
- Performance tuning and troubleshooting
Contact: Email support@cloudimg.co.uk or reach us via live chat.
Refunds: For refund requests or billing inquiries, contact us at the email address above and we will assist promptly.
Our engineers are available around the clock to help you move from initial launch to a production-ready messaging deployment. Whether you need guidance on sizing your instance for your user base, configuring federation with external XMPP servers, or planning a multi-node cluster, our team is ready to assist.
AWS infrastructure support
AWS Support is a one-on-one, fast-response support channel that is staffed 24x7x365 with experienced and technical support engineers. The service helps customers of all sizes and technical abilities to successfully utilize the products and features provided by Amazon Web Services.