jitsi-k8s/containers/non-root/prosody/Dockerfile

80 lines
3.8 KiB
Docker
Raw Normal View History

2024-07-15 15:35:24 +00:00
ARG JITSI_REPO=jitsi
ARG BASE_TAG=latest
2024-07-15 19:36:29 +00:00
FROM dowerx/jitsi-base:non-root AS builder
2024-07-15 15:35:24 +00:00
RUN apt-get update && \
apt-get install -y \
build-essential \
lua5.4 \
liblua5.4-dev \
libreadline-dev \
git \
unzip \
wget && \
mkdir /tmp/luarocks && \
wget -qO - https://luarocks.github.io/luarocks/releases/luarocks-3.8.0.tar.gz | tar xfz - --strip-components 1 -C /tmp/luarocks && \
cd /tmp/luarocks && ./configure && make && make install && cd - && \
luarocks install basexx 0.4.1-1 && \
luarocks install lua-cjson 2.1.0-1 && \
luarocks install net-url 0.9-1
2024-07-15 19:36:29 +00:00
FROM dowerx/jitsi-base:non-root
2024-07-15 15:35:24 +00:00
ARG VERSION_JITSI_CONTRIB_PROSODY_PLUGINS="20240117"
ARG VERSION_MATRIX_USER_VERIFICATION_SERVICE_PLUGIN="1.8.0"
RUN wget -qO /etc/apt/trusted.gpg.d/prosody.gpg https://prosody.im/files/prosody-debian-packages.key && \
echo "deb http://packages.prosody.im/debian bookworm main" > /etc/apt/sources.list.d/prosody.list && \
apt-get update && \
apt-get install -y \
lua5.4 \
prosody \
libldap-common \
sasl2-bin \
libsasl2-modules-ldap \
lua-cyrussasl \
lua-inspect \
lua-ldap \
lua-luaossl \
lua-sec \
lua-unbound && \
apt-get -d install -y jitsi-meet-prosody && \
dpkg -x /var/cache/apt/archives/jitsi-meet-prosody*.deb /tmp/pkg && \
rm /tmp/pkg/usr/share/jitsi-meet/prosody-plugins/mod_smacks.lua && \
mv /tmp/pkg/usr/share/jitsi-meet/prosody-plugins /prosody-plugins && \
rm -rf /tmp/pkg /var/cache/apt && \
rm -rf /var/lib/apt/lists/ && \
rm -rf /etc/prosody && \
mv /usr/share/lua/5.3/inspect.lua /usr/share/lua/5.4/ && \
rm -rf /usr/lib/lua/{5.1,5.2,5.3} && \
rm -rf /usr/share/lua/{5.1,5.2,5.3} && \
wget -qO /prosody-plugins/mod_auth_cyrus.lua https://hg.prosody.im/prosody-modules/raw-file/65438e4ba563/mod_auth_cyrus/mod_auth_cyrus.lua && \
wget -qO /prosody-plugins/sasl_cyrus.lua https://hg.prosody.im/prosody-modules/raw-file/65438e4ba563/mod_auth_cyrus/sasl_cyrus.lua && \
wget -qO /prosody-plugins/mod_http_health.lua https://hg.prosody.im/prosody-modules/raw-file/2b80188448d1/mod_http_health/mod_http_health.lua && \
wget https://github.com/matrix-org/prosody-mod-auth-matrix-user-verification/archive/refs/tags/v$VERSION_MATRIX_USER_VERIFICATION_SERVICE_PLUGIN.tar.gz && \
tar -xf v$VERSION_MATRIX_USER_VERIFICATION_SERVICE_PLUGIN.tar.gz && \
mv prosody-mod-auth-matrix-user-verification-$VERSION_MATRIX_USER_VERIFICATION_SERVICE_PLUGIN/mod_auth_matrix_user_verification.lua /prosody-plugins && \
mv prosody-mod-auth-matrix-user-verification-$VERSION_MATRIX_USER_VERIFICATION_SERVICE_PLUGIN/mod_matrix_power_sync.lua /prosody-plugins && \
rm -rf prosody-mod-auth-matrix-user-verification-$VERSION_MATRIX_USER_VERIFICATION_SERVICE_PLUGIN v$VERSION_MATRIX_USER_VERIFICATION_SERVICE_PLUGIN.tar.gz && \
wget -q https://github.com/jitsi-contrib/prosody-plugins/archive/refs/tags/v$VERSION_JITSI_CONTRIB_PROSODY_PLUGINS.tar.gz && \
tar -xf v$VERSION_JITSI_CONTRIB_PROSODY_PLUGINS.tar.gz && \
mkdir /prosody-plugins-contrib && \
cp -a prosody-plugins-$VERSION_JITSI_CONTRIB_PROSODY_PLUGINS/* /prosody-plugins-contrib && \
rm -rf prosody-plugins-$VERSION_JITSI_CONTRIB_PROSODY_PLUGINS v$VERSION_JITSI_CONTRIB_PROSODY_PLUGINS.tar.gz
COPY defaults /defaults
COPY etc /etc
COPY usr /usr
COPY init /init
RUN touch /etc/saslauthd.conf && mkdir /config /prosody-plugins-custom && chown -R user:user /config /etc/saslauthd.conf && chmod -R a+rw /var /run /config /prosody-plugins-custom /etc/saslauthd.conf && chmod +x /init
COPY --from=builder /usr/local/lib/lua/5.4 /usr/local/lib/lua/5.4
COPY --from=builder /usr/local/share/lua/5.4 /usr/local/share/lua/5.4
USER user
EXPOSE 5222 5280
VOLUME ["/config", "/prosody-plugins-custom"]
ENTRYPOINT [ "/init" ]