FROM docker.1ms.run/emqx/emqx:5.8.9

USER root

ENV TZ=Asia/Shanghai

RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && \
    cp /etc/apt/sources.list.d/debian.sources /etc/apt/sources.list.d/debian.sources.bak && \
    sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list.d/debian.sources && \
    sed -i 's/security.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list.d/debian.sources && \
    apt-get update && apt-get -y upgrade && apt-get autoremove && apt-get autoclean && rm -rf /var/lib/apt/lists/* &&\
    sed -i '/^ *export EMQX_NODE_NAME=/s/^/#/' /usr/bin/docker-entrypoint.sh

USER emqx

# 暴露端口 MQTT 端口: 1883 | MQTT SSL 端口: 8883 | WebSocket 端口: 8083 | WebSocket SSL 端口: 8084 | Dashboard 端口: 18083
EXPOSE 1883 18083

# 健康检查
HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 CMD emqx ctl status || exit 1

# 启动 EMQX
CMD ["emqx", "foreground"]

