snapshot of https://github.com/jitsi/jitsi-meet.git @ fd1749dd28f4138aa80234fc7f311b19aaffa0e7 (2026-09-15)
This commit is contained in:
61
tests/prosody/docker/Dockerfile
Normal file
61
tests/prosody/docker/Dockerfile
Normal file
@@ -0,0 +1,61 @@
|
||||
# Prosody 0.13+ with Jitsi plugins for integration testing.
|
||||
|
||||
# Builder stage: compile/install Lua libraries that aren't available as apt
|
||||
# packages for Lua 5.4 in the prosodyim base image.
|
||||
FROM prosodyim/prosody:13.0 AS builder
|
||||
|
||||
USER root
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
build-essential \
|
||||
liblua5.4-dev \
|
||||
&& luarocks --lua-version 5.4 install basexx \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Final image
|
||||
FROM prosodyim/prosody:13.0
|
||||
|
||||
USER root
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
lua-cjson \
|
||||
lua-inspect \
|
||||
lua-luaossl \
|
||||
&& mv /usr/share/lua/5.3/inspect.lua /usr/share/lua/5.4/ \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Copy luarocks-installed pure-Lua libs from builder.
|
||||
COPY --from=builder /usr/local/share/lua/5.4 /usr/local/share/lua/5.4
|
||||
|
||||
# Copy all plugins into a dedicated path (added to plugin_paths in the config).
|
||||
# The tests/ directory is also copied but Prosody only loads explicitly named modules.
|
||||
COPY --chown=prosody:prosody resources/prosody-plugins/ /opt/prosody-jitsi-plugins/
|
||||
|
||||
# inspect.lua is required by several Jitsi plugins for debug logging.
|
||||
# Provide a minimal stub so those modules load without needing luarocks.
|
||||
COPY --chown=prosody:prosody tests/prosody/docker/inspect.lua /opt/prosody-jitsi-plugins/inspect.lua
|
||||
|
||||
COPY --chown=prosody:prosody tests/prosody/docker/prosody.cfg.lua /etc/prosody/prosody.cfg.lua
|
||||
COPY --chown=prosody:prosody tests/prosody/docker/cfg/ /etc/prosody/cfg/
|
||||
|
||||
# Test ASAP public keys — served by mod_test_observer_http for RS256 token verification tests.
|
||||
# Two separate key pairs are used: one for login tokens (mod_auth_token) and one for system
|
||||
# tokens (mod_muc_end_meeting and similar HTTP API modules).
|
||||
COPY --chown=prosody:prosody tests/prosody/fixtures/test-asap-public.pem /opt/prosody-jitsi-plugins/test-asap-public.pem
|
||||
COPY --chown=prosody:prosody tests/prosody/fixtures/test-system-asap-public.pem /opt/prosody-jitsi-plugins/test-system-asap-public.pem
|
||||
|
||||
# Pre-create the focus admin account (focus@auth.localhost, password "focussecret").
|
||||
# prosodyctl register writes properly hashed credentials (SCRAM-SHA-*) directly
|
||||
# to the data directory without requiring a running Prosody instance — it just
|
||||
# reads the config for data_path and the VirtualHost definition.
|
||||
RUN prosodyctl register focus auth.localhost focussecret \
|
||||
&& chown -R prosody:prosody /var/lib/prosody
|
||||
|
||||
# Pre-create Jibri and transcriber accounts used by mod_muc_cleanup_backend_services tests.
|
||||
# recorder@recorder.localhost — is_jibri() matches (starts with 'recorder@recorder.')
|
||||
# transcriber@recorder.localhost — is_transcriber() matches (starts with 'transcriber@recorder.')
|
||||
RUN prosodyctl register recorder recorder.localhost recordersecret \
|
||||
&& prosodyctl register transcriber recorder.localhost transcribersecret \
|
||||
&& chown -R prosody:prosody /var/lib/prosody
|
||||
Reference in New Issue
Block a user