Dockerfile 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. LABEL org.opencontainers.image.title="Prosody IM"
  2. LABEL org.opencontainers.image.description="XMPP server used for signalling."
  3. LABEL org.opencontainers.image.url="https://prosody.im/"
  4. LABEL org.opencontainers.image.source="https://github.com/jitsi/docker-jitsi-meet"
  5. LABEL org.opencontainers.image.documentation="https://jitsi.github.io/handbook/"
  6. ARG JITSI_REPO=jitsi
  7. ARG BASE_TAG=latest
  8. FROM ${JITSI_REPO}/base:${BASE_TAG} as builder
  9. RUN apt-dpkg-wrap apt-get update && \
  10. apt-dpkg-wrap apt-get install -y \
  11. lua5.2 \
  12. liblua5.2-dev \
  13. libsasl2-dev \
  14. libssl-dev \
  15. luarocks \
  16. git \
  17. gcc && \
  18. luarocks install cyrussasl 1.1.0-1 && \
  19. luarocks install net-url 0.9-1 && \
  20. luarocks install luajwtjitsi 2.0-0
  21. FROM ${JITSI_REPO}/base:${BASE_TAG}
  22. ENV XMPP_CROSS_DOMAIN="false"
  23. RUN wget -qO /etc/apt/trusted.gpg.d/prosody.gpg https://prosody.im/files/prosody-debian-packages.key && \
  24. echo "deb http://packages.prosody.im/debian bullseye main" > /etc/apt/sources.list.d/prosody.list && \
  25. apt-dpkg-wrap apt-get update && \
  26. apt-dpkg-wrap apt-get install -y \
  27. prosody \
  28. libssl1.1 \
  29. libldap-common \
  30. sasl2-bin \
  31. libsasl2-modules-ldap \
  32. lua-basexx \
  33. lua-ldap \
  34. lua-sec \
  35. patch && \
  36. apt-cleanup && \
  37. rm -rf /etc/prosody && \
  38. apt-dpkg-wrap apt-get update && \
  39. apt-dpkg-wrap apt-get -d install -y jitsi-meet-prosody && \
  40. dpkg -x /var/cache/apt/archives/jitsi-meet-prosody*.deb /tmp/pkg && \
  41. mv /tmp/pkg/usr/share/jitsi-meet/prosody-plugins /prosody-plugins && \
  42. apt-cleanup && \
  43. rm -rf /tmp/pkg /var/cache/apt && \
  44. patch -d /usr/lib/prosody/modules/muc -p0 < /prosody-plugins/muc_owner_allow_kick.patch
  45. COPY rootfs/ /
  46. COPY --from=builder /usr/local/lib/lua /usr/local/lib/lua
  47. COPY --from=builder /usr/local/share/lua /usr/local/share/lua
  48. EXPOSE 5222 5347 5280
  49. VOLUME ["/config", "/prosody-plugins-custom"]