mirror of
https://github.com/casjaysdevdocker/prosody
synced 2026-06-24 08:01:07 -04:00
33 lines
1.9 KiB
Markdown
33 lines
1.9 KiB
Markdown
## Project description
|
|
|
|
A production-ready Docker image for [Prosody XMPP](https://prosody.im/) configured specifically for Jitsi Meet deployments. Replaces the upstream `jitsi/docker-jitsi-meet` prosody image with a standards-compliant CasjaysDev image built on Alpine Linux with full BOSH and WebSocket support (mod_websocket).
|
|
|
|
## Project variables
|
|
|
|
```
|
|
project_name: prosody
|
|
project_org: casjaysdevdocker
|
|
internal_name: prosody
|
|
internal_org: casjaysdevdocker
|
|
image_registry: ghcr.io
|
|
upstream_image: prosody (Alpine package)
|
|
jitsi_repo: https://github.com/jitsi/docker-jitsi-meet
|
|
```
|
|
|
|
## Business logic
|
|
|
|
- Must be a drop-in replacement for `jitsi/docker-jitsi-meet` prosody container
|
|
- Must support all standard Jitsi Docker env vars: `XMPP_DOMAIN`, `XMPP_AUTH_DOMAIN`, `XMPP_MUC_DOMAIN`, `XMPP_INTERNAL_MUC_DOMAIN`, `XMPP_GUEST_DOMAIN`, `JICOFO_AUTH_PASSWORD`, `JVB_AUTH_PASSWORD`, `ENABLE_AUTH`, `ENABLE_GUESTS`, `ENABLE_XMPP_WEBSOCKET`, `PUBLIC_URL`, `LOG_LEVEL`
|
|
- Must have BOSH working on `/http-bind` at port 5280
|
|
- Must have WebSocket working on `/xmpp-websocket` at port 5280 (this is the primary fix over upstream)
|
|
- Must register jicofo and jvb users automatically at startup
|
|
- Must generate self-signed TLS certificates for Jitsi domains at startup if not present
|
|
- Must expose ports 5222 (c2s), 5280 (HTTP/BOSH/WS), 5347 (component)
|
|
- Must include all Jitsi prosody plugins from `jitsi/docker-jitsi-meet` prosody image
|
|
- Must run prosody as the `prosody` system user (non-root), not as root
|
|
- Must use `tini` as PID 1
|
|
- Must work with zero config — sane defaults for all env vars
|
|
- Must NOT require a separate nginx reverse proxy in the container
|
|
- Must NOT include s6 or any other process supervisor — single process per container
|
|
- `consider_websocket_secure = true` and `consider_bosh_secure = true` must always be set so trusted-proxy HTTPS termination works
|