# Install ejabberd with Homebrew, apk, apt, MacPorts, Nix, pacman

XMPP application server. Version 26.04 via Homebrew; verified 2026-07-07.

## Install

```sh
sudo av install brew:ejabberd
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install ejabberd
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install ejabberd
```

  Evidence: MacPorts ports tree: net/ejabberd/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add ejabberd
```

  Evidence: Alpine Linux edge package indexes: ejabberd from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install ejabberd
```

  Evidence: Debian stable package indexes: ejabberd from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- Nix (92%):

```sh
nix profile install nixpkgs#ejabberd
```

  Evidence: nixpkgs package indexes: pkgs/by-name/ej/ejabberd/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S ejabberd
```

  Evidence: Arch Linux sync databases: ejabberd from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

## Package facts

- **Package key:** brew:ejabberd
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/ejabberd>
- **Version:** 26.04
- **Source summary:** XMPP application server
- **Homepage:** <https://www.ejabberd.im>
- **Repository:** <https://github.com/processone/ejabberd>
- **Upstream docs:** <https://docs.ejabberd.im/>
- **License:** GPL-2.0-or-later
- **Source archive:** <https://github.com/processone/ejabberd/archive/refs/tags/26.04.tar.gz>
- **Last updated:** 2026-07-07T07:03:54Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- ejabberdctl (cli)
- ejabberdctl (alias)

## Dependencies

- elixir
- erlang
- gd
- libyaml
- openssl@3

## Build dependencies

- autoconf
- automake

## Uses from macOS

- expat

## Install behavior

- Post-install hook: not defined
- Service: declared
- Caveats: If you face nodedown problems, concat your machine name to: /private/etc/hosts after 'localhost'.
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 26.04
- Package-manager updated: 2026-07-07
- Local data: ok
- Upstream repository: https://github.com/processone/ejabberd
- Upstream latest detected: 26.04 (current)
## Project history and usage

ejabberd is a long-running Erlang-based realtime messaging server, best known as an XMPP server and now also positioned as an MQTT broker and SIP service. It is one of the historically important open source messaging servers because it combined XMPP federation, Erlang fault tolerance, clustering, and production-scale deployments.

### Project history

The official ejabberd site describes the project as a ProcessOne product in production since 2002. The repository README calls it an open source, robust, scalable, extensible realtime platform built with Erlang/OTP, including XMPP Server, MQTT Broker, and SIP Service.

ejabberd grew during the XMPP/Jabber era, when open federated instant messaging needed servers that could handle many persistent client connections. Erlang was a natural fit for that concurrency model, and ejabberd became one of the best-known Erlang infrastructure packages outside telecom.

The modern project keeps a broad operational surface: source builds, installers, Docker images, OS packages, Homebrew packages, GitHub releases, documentation, GitHub Discussions, Stack Overflow, Weblate translations, commercial ProcessOne support, and the managed Fluux service. That mix shows a project that survived the original Jabber wave and adapted to current deployment habits.

### Adoption history

The official homepage says ejabberd is trusted by WhatsApp, Nintendo Switch, BBC, and hundreds of organizations, and highlights use at WhatsApp scale. It also advertises more than two million concurrent sessions on a single node and support for hundreds of XMPP extensions.

Package adoption is broad. The input metadata lists Homebrew, Debian, Ubuntu, Alpine, MacPorts, Nix, and Pacman, while the README links to OS packages, Homebrew, Docker Hub, GitHub Packages, and ProcessOne installers. That is the profile of a server package expected to run on laptops, bare-metal systems, distro servers, and containers.

### How it is used

Operators use ejabberd to run XMPP domains, federated messaging, multi-user chat, publish-subscribe, mobile push, message archives, MQTT endpoints, SIP service, REST APIs, web administration, and clustered realtime infrastructure. The configuration center is `ejabberd.yml`, with command-line operation through `ejabberdctl`.

The README points users to docs, `ejabberdctl help`, and `man ejabberd.yml`. The homepage's example configuration shows standard XMPP ports, MQTT, SQL storage, MAM, push, PubSub, and MUC modules, which captures the normal server-admin workflow: edit YAML, enable modules, choose storage, and operate the service.

### Why package nerds care

ejabberd is package-nerd significant because it is a classic daemon with many packaging shapes: Erlang runtime dependency, config files, service management, man pages, OS packages, containers, Homebrew, and upstream installers. It is not just a binary; it is an operating-system resident service.

It is also a good example of a package whose value is partly historical. XMPP infrastructure was central to open messaging before mobile silos dominated chat, and ejabberd remains a maintained way to run standards-based realtime communications without outsourcing identity or message routing.

### Timeline

- 2002: Official site describes ejabberd as a ProcessOne product in production since 2002.
- 2022-05-17: GitHub release 22.05 appears in the modern release stream.
- 2024-10-29: Release 24.10 is published.
- 2025-04-16: Release 25.04 is published.
- 2026-04-20: Release 26.04 is published and listed by the official site.

### Related projects

- Erlang/OTP is the runtime platform for ejabberd.
- XMPP is the main messaging protocol associated with ejabberd; MQTT and SIP are also official protocol roles.
- Fluux is ProcessOne's managed service built around ejabberd.
- Docker Hub and GitHub Packages host official container distribution paths.

### Sources

- <https://www.ejabberd.im/>
- <https://docs.ejabberd.im/>
- <https://github.com/processone/ejabberd#readme>
- <https://github.com/processone/ejabberd/releases>


## Security Notes

broad file, network, media, or database tool signal. formula declares a Homebrew service.

- **Geiger risk:** orange / medium
- broad file, network, media, or database tool signal
- formula declares a Homebrew service


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: $CONFIG_DIR/ejabberd.yml, $CONFIG_DIR/ejabberdctl.cfg, $CONFIG_DIR/vm.args
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** ejabberd
- **Version Scheme:** 0
- **Revision:** 3
- **Head Version:** HEAD
- **Conflicts With:** couchdb
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - ejabberd - 24.12-3+deb13u2: normalized package name match | Debian stable package indexes: ejabberd from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | extensible realtime platform (XMPP server + MQTT broker + SIP service) | https://www.ejabberd.im
- Nix - ejabberd: normalized package name match | nixpkgs package indexes: pkgs/by-name/ej/ejabberd/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - ejabberd - 23.10-1: normalized package name match | Ubuntu 24.04 LTS package indexes: ejabberd from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | extensible realtime platform (XMPP server + MQTT broker + SIP service) | https://www.ejabberd.im
- apk - ejabberd - 26.02-r0: normalized package name match | Alpine Linux edge package indexes: ejabberd from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Robust, Ubiquitous and Massively Scalable Messaging Platform for XMPP, MQTT, and SIP Protocols | https://www.ejabberd.im/
- apk - ejabberd-bash-completion - 26.02-r0: normalized package name match | Alpine Linux edge package indexes: ejabberd-bash-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Bash completions for ejabberd | https://www.ejabberd.im/
- apk - ejabberd-dev - 26.02-r0: normalized package name match | Alpine Linux edge package indexes: ejabberd-dev from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Robust, Ubiquitous and Massively Scalable Messaging Platform for XMPP, MQTT, and SIP Protocols (development files) | https://www.ejabberd.im/
- apk - ejabberd-doc - 26.02-r0: normalized package name match | Alpine Linux edge package indexes: ejabberd-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Robust, Ubiquitous and Massively Scalable Messaging Platform for XMPP, MQTT, and SIP Protocols (documentation) | https://www.ejabberd.im/
- apk - ejabberd-openrc - 26.02-r0: normalized package name match | Alpine Linux edge package indexes: ejabberd-openrc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Robust, Ubiquitous and Massively Scalable Messaging Platform for XMPP, MQTT, and SIP Protocols (OpenRC init scripts) | https://www.ejabberd.im/
- pacman - ejabberd - 26.04-2: normalized package name match | Arch Linux sync databases: ejabberd from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Jabber server written in Erlang | https://www.ejabberd.im/
- MacPorts - ejabberd: normalized package name match | MacPorts ports tree: net/ejabberd/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [elixir](https://www.automicvault.com/pkg/brew/elixir/) - Runtime dependency declared by Homebrew.
- [erlang](https://www.automicvault.com/pkg/brew/erlang/) - Runtime dependency declared by Homebrew.
- [gd](https://www.automicvault.com/pkg/brew/gd/) - Runtime dependency declared by Homebrew.
- [openssl@3](https://www.automicvault.com/pkg/brew/openssl-3/) - Runtime dependency declared by Homebrew.
- [autoconf](https://www.automicvault.com/pkg/brew/autoconf/) - Build dependency declared by Homebrew.
- [automake](https://www.automicvault.com/pkg/brew/automake/) - Build dependency declared by Homebrew.
- [activemq](https://www.automicvault.com/pkg/brew/activemq/) - Shares av.db curated category or tags: cli, messaging, networking, server.
- [emqx](https://www.automicvault.com/pkg/brew/emqx/) - Shares av.db curated category or tags: cli, erlang, messaging, networking.
- [nats-server](https://www.automicvault.com/pkg/brew/nats-server/) - Shares av.db curated category or tags: cli, messaging, networking, server.
- [nats-streaming-server](https://www.automicvault.com/pkg/brew/nats-streaming-server/) - Shares av.db curated category or tags: cli, messaging, networking, server.
- [profanity](https://www.automicvault.com/pkg/brew/profanity/) - Shares av.db curated category or tags: cli, messaging, networking, xmpp.
- [rabbitmq](https://www.automicvault.com/pkg/brew/rabbitmq/) - Shares av.db curated category or tags: cli, messaging, networking, server.
- [czmq](https://www.automicvault.com/pkg/brew/czmq/) - Shares av.db curated category or tags: cli, messaging, networking.
- [libpaho-mqtt](https://www.automicvault.com/pkg/brew/libpaho-mqtt/) - Shares av.db curated category or tags: cli, messaging, networking.

## Combined YAML source

View the package source record on GitHub. [combined/ejabberd.yml](https://github.com/automic-vault/db/blob/main/combined/ejabberd.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
