Add ejabberd - #3573
Conversation
XMPP server (YunoHost 13/Trixie). Validated end-to-end: 100% XMPP compliance on two clean installs + working s2s federation.
|
!invite @TabTwo |
|
@TabTwo, you have just been invited to the YunoHost-Apps organization.
Do not forget to update your repository URL in the catalog. You can find more information on packaging in our documentation |
package_linter flags add_header as an error, which alone kept the app off
level 5 ("no linter errors"): add_header only applies to 2xx/3xx responses and
is silently dropped as soon as any nested block adds a header of its own.
headers-more is available on YunoHost (nginx-extras, and YunoHost's own confs
use it), so switch the two CORS headers on the XEP-0156 host-meta endpoints.
Verified on a live box after upgrade: both /.well-known/host-meta and
host-meta.json still return 200 with access-control-allow-origin: *.
The two remaining linter criticals ("app is not in YunoHost's application
catalog" / "not flagged as working") are chicken-and-egg and resolve when
YunoHost/apps#3573 is merged.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Thovi98
left a comment
There was a problem hiding this comment.
Thanks for your proposal and the work behind this.
I'd wait for the Trixie migration to merge this app as it won't work on Bookworm.
After a quick look on your repo I can see that a LLM has been used to help you. It's okay, but there a leftovers that should be cleaned up before merging (/doc and /docs folders; is the myproject.toml file needed (if yes it should be located in the /conf dir),…)
|
Gentle bump — with a status update rather than just a ping. Since opening this I've run Two fixes came out of that run and are already pushed:
The only linter criticals left are The Trixie-only question from the description is still the open one, and I'm happy with whichever No rush — just didn't want it to go stale. |
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>
added_date is filled in automatically on merge (review suggestion), and the repository has been transferred to the YunoHost-Apps organisation.
|
Thanks @Thovi98 — all fair, and thanks @ericgaspar for the invite. Everything is done: Repository transferred to the org: https://github.com/YunoHost-Apps/ejabberd_ynh, with a
Leftovers cleaned up (YunoHost-Apps/ejabberd_ynh@14f7eec) — you were right, this repo root doubles as my project workspace and some of it rode along:
What's left is exactly the app: One thing I kept deliberately: And yes — on the LLM: I use one as a pair-programming partner, and the leftovers were exactly the kind of thing that produces. Every line has been reviewed and the app is validated on real hardware; but you caught workspace clutter I'd stopped seeing, which is the point of review. Appreciated. On merge timing: fully agree, no rush. The app needs YunoHost 13/Trixie (the config uses ejabberd 24.12 features Bookworm's package doesn't have, so it would fail to start there — Bookworm is deliberately unsupported, not accidentally broken). Merging when the Trixie migration lands makes sense to me. In the meantime, Ready for |
Add
ejabberdto the catalogPackaging of the ejabberd XMPP server as a YunoHost app: https://github.com/TabTwo/ejabberd_ynh
chat)custom_dns_ruleshook that publishes the_xmpp*/_xmpps*SRV records incl. XEP-0368 direct-TLS), and XEP-0485 via ejabberd-contrib.Validation
Tested end-to-end on two fresh YunoHost 13 servers on two separate domains (real DNS + Let's Encrypt):
This app currently requires YunoHost 13 / Debian 13 (Trixie) — the manifest floor is
yunohost >= 13.0. It uses ejabberd 24.12 features (mod_muc_occupantid,mod_stun_disco,mod_http_uploadcustom CORS headers) that only exist in the ejabberd shipped by Trixie; Bookworm's older ejabberd would fail to start, so Bookworm is deliberately unsupported.I'm aware this means the CI, on a Bookworm/stable baseline, will likely mark it
notworkingfor now. I'm flagging it openly rather than hiding it — happy to setstateto whatever you prefer (inprogress?), hold the merge until Trixie becomes the CI baseline, or point CI at the Trixie/unstable target if that's available. Guidance welcome.Also glad to transfer the repo to the
YunoHost-Appsorg per the contributor note.