No description
Find a file
Ralph Mayer 14f7eec3fa
repo: strip non-app leftovers ahead of the catalog review
Thovi98's review on YunoHost/apps#3573 flagged files that have no business
in a packaged app. They were project-workspace artifacts that rode along
because this repo root doubles as the app:

- docs/ (bake-off decision doc, design spec, implementation plan) -- moved to
  project-chat/docs/ejabberd/, where the rest of the XMPP decision history lives.
- myproject.toml -- local project-catalogue metadata, meaningless to YunoHost.
  Not relocated to conf/ as suggested; conf/ holds config templates, and the
  file simply does not belong in the app at all.
- README.md was a three-line internal stub (with a typo in "YunoHost"). Replaced
  with a real app README following the format their readme_generator emits --
  it will be regenerated by their tooling once the repo lives in YunoHost-Apps.

doc/ (ADMIN, DESCRIPTION, PRE_INSTALL) stays: that is standard packaging v2,
not a leftover.

What remains is exactly a YunoHost app: manifest.toml, config_panel.toml,
tests.toml, LICENSE, README.md, conf/, scripts/, hooks/, doc/.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-07 08:37:31 +02:00
conf nginx: use more_set_headers instead of add_header (linter error) 2026-08-06 10:21:56 +02:00
doc coturn: make the dependency soft, guard mod_stun_disco (#263) 2026-08-06 10:17:45 +02:00
hooks hooks: fix custom_dns_rules to actually work (YAML -> $YNH_STDRETURN) 2026-08-05 19:49:26 +02:00
scripts restore: re-assert ownership and modes after ynh_restore 2026-08-06 10:18:13 +02:00
config_panel.toml fix: review findings (permissions, direct-TLS key, config panel, cert SANs, coturn transport) + XEP-0157 contact field 2026-08-05 00:13:17 +02:00
LICENSE manifest + license 2026-08-04 23:11:49 +02:00
manifest.toml hooks: fix custom_dns_rules to actually work (YAML -> $YNH_STDRETURN) 2026-08-05 19:49:26 +02:00
README.md repo: strip non-app leftovers ahead of the catalog review 2026-08-07 08:37:31 +02:00
tests.toml fix: review findings (permissions, direct-TLS key, config panel, cert SANs, coturn transport) + XEP-0157 contact field 2026-08-05 00:13:17 +02:00

ejabberd, packaged for YunoHost

Robust, scalable and extensible realtime platform (XMPP server)

🌐 Official app website

Overview

ejabberd is an XMPP server written in Erlang. This package integrates it with YunoHost: accounts come from YunoHost's LDAP directory (permission-gated), certificates are the ones YunoHost already manages, and nginx serves the .well-known discovery endpoints plus the BOSH and WebSocket entry points.

Out of the box it passes the XMPP Compliance Suites 2023 at 100% — including XEP-0368 direct TLS, XEP-0363 HTTP upload, XEP-0215 external STUN/TURN discovery and XEP-0485 PubSub server information — and it publishes its own DNS records, so yunohost domain dns push sets up the _xmpp and _xmpps SRV entries for you.

Requires YunoHost 13 (Debian 13 / Trixie) or newer. The configuration uses ejabberd 24.12 features that the Bookworm package does not have, so Bookworm is deliberately unsupported.

Cannot be installed alongside another XMPP server (prosody, metronome) — they compete for ports 5222 and 5269.

Documentation

📦 Developer info

Pull requests are welcome and should target the testing branch.

The testing branch can be tested using:

# fresh install:
sudo yunohost app install https://github.com/YunoHost-Apps/ejabberd_ynh/tree/testing

# upgrade an existing install:
sudo yunohost app upgrade ejabberd -u https://github.com/YunoHost-Apps/ejabberd_ynh/tree/testing

📚 App packaging documentation

Please see https://doc.yunohost.org/packaging_apps for more information.