✨ Add Openfire auth option, fix compose and docs ✨

- docker/rootfs/usr/local/bin/entrypoint.sh: honor AUTH_TYPE (internal|openfire) for the global and main-host authentication module; reject unknown values
- docker/rootfs/prosody-plugins-contrib/mod_auth_openfire_hybrid.lua: new auth module, local accounts then Openfire over verified direct TLS, disabled unless OPENFIRE_AUTH_DOMAIN is set
- docker/docker-compose.yml: renamed to docker/compose.yml, map-style env, healthcheck, logging, IPv6 network
- README.md: document the authentication variables
This commit is contained in:
casjay committed 2026-11-08 10:19:18 -05:00
1 parent afa3dc3da5
commit 1cf79e7325
5 files changed
+359 -32

No files matched your search

+56
View File
@@ -0,0 +1,56 @@
# nginx proxy address - http://172.17.0.1:5280
name: prosody
x-logging: &logging
driver: json-file
options:
max-size: 10m
max-file: "3"
services:
prosody:
image: ghcr.io/casjaysdevdocker/prosody:latest
pull_policy: always
restart: always
logging: *logging
environment:
XMPP_DOMAIN: meet.jitsi
XMPP_AUTH_DOMAIN: auth.meet.jitsi
XMPP_GUEST_DOMAIN: guest.meet.jitsi
XMPP_MUC_DOMAIN: muc.meet.jitsi
XMPP_INTERNAL_MUC_DOMAIN: internal-muc.meet.jitsi
XMPP_HIDDEN_DOMAIN: hidden.meet.jitsi
JICOFO_AUTH_PASSWORD: ${JICOFO_AUTH_PASSWORD:?set in .env}
JVB_AUTH_PASSWORD: ${JVB_AUTH_PASSWORD:?set in .env}
ENABLE_AUTH: "0"
ENABLE_GUESTS: "0"
ENABLE_XMPP_WEBSOCKET: "1"
LOG_LEVEL: info
# internal = local accounts only; openfire = also accept Openfire accounts
AUTH_TYPE: internal
OPENFIRE_AUTH_ENABLED: "0"
OPENFIRE_AUTH_HOST: 172.17.0.1
OPENFIRE_AUTH_PORT: "5223"
OPENFIRE_AUTH_DOMAIN: ""
OPENFIRE_AUTH_EXCLUDE: focus,jvb,jibri,recorder
volumes:
- ./volumes/config:/config
ports:
- "5222:5222"
- "5280:5280"
- "5347:5347"
networks:
- prosody
healthcheck:
test: ["CMD", "/usr/local/bin/healthcheck.sh"]
interval: 30s
timeout: 10s
retries: 3
networks:
prosody:
driver: bridge
enable_ipv6: true
ipam:
config:
- subnet: fd00:5a:30::/64