# EMQX для IoT на платформе Nubes (контейнер «Простой HTTP»). # Образ: naeel/iot-emqx (Docker Hub, публичный). # # ⚠️ Сборка от чистого debian: платформа берёт порт приложения из EXPOSE образа, # а в базовом emqx/emqx:5.5.1 зашито 7 EXPOSE-портов (1883/4370/5369/8083/8084/ # 8883/18083), которые невозможно убрать из дочернего Dockerfile. Поэтому здесь # ОДИН EXPOSE 8083 — иначе deck-UI требует несуществующее поле applicationUsePort. FROM debian:bookworm-slim RUN apt-get update \ && apt-get install -y --no-install-recommends ca-certificates curl procps \ && curl -fsSL -o /tmp/emqx.deb \ https://github.com/emqx/emqx/releases/download/v5.5.1/emqx-5.5.1-debian12-amd64.deb \ && (dpkg -i /tmp/emqx.deb || apt-get -f install -y) \ && rm -f /tmp/emqx.deb \ && apt-get purge -y curl \ && apt-get autoremove -y \ && rm -rf /var/lib/apt/lists/* COPY emqx.conf /etc/emqx/emqx.conf # data_dir из emqx.conf: /opt/emqx/data. Launcher работает от пользователя # emqx (deb-пакет создаёт его) — каталог должен принадлежать emqx. RUN mkdir -p /opt/emqx/data \ && chown -R emqx:emqx /opt/emqx/data EXPOSE 8083 ENTRYPOINT ["/usr/bin/emqx"] CMD ["foreground"]