Without CA certs, Prosody cannot verify remote servers' certificates, causing all server-to-server connections to fail with "not trusted". Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
33 lines
836 B
Docker
33 lines
836 B
Docker
FROM debian:bookworm-slim
|
|
|
|
# Install Prosody and dependencies
|
|
RUN apt-get update --fix-missing && \
|
|
apt-get install -y --no-install-recommends \
|
|
prosody \
|
|
lua-dbi-mysql \
|
|
lua-sec \
|
|
lua-unbound \
|
|
openssl \
|
|
ca-certificates \
|
|
netcat-traditional \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Create prosody user and set up directories
|
|
RUN mkdir -p /var/lib/prosody /var/log/prosody /var/run/prosody /etc/prosody/certs && \
|
|
chown -R prosody:prosody /var/lib/prosody /var/log/prosody /var/run/prosody /etc/prosody
|
|
|
|
# Copy entrypoint script
|
|
COPY entrypoint.sh /entrypoint.sh
|
|
RUN chmod +x /entrypoint.sh
|
|
|
|
# Expose Prosody ports
|
|
# 5222: Client to Server (C2S)
|
|
# 5269: Server to Server (S2S)
|
|
# 5280: HTTP
|
|
# 5281: HTTPS
|
|
EXPOSE 5222 5269 5280 5281
|
|
|
|
# Set entrypoint
|
|
ENTRYPOINT ["/entrypoint.sh"]
|
|
CMD ["prosody", "-F"]
|