fix(emqx): v0.1.1 — сборка от debian, единственный EXPOSE 8083 (deck-UI берёт порт из образа, поле applicationUsePort в форме отсутствует)

This commit is contained in:
“Naeel”
2026-08-16 13:22:39 +04:00
parent 92c9a8a2f8
commit 93af91f561
2 changed files with 22 additions and 13 deletions
+21 -12
View File
@@ -1,19 +1,28 @@
# EMQX для IoT на платформе Nubes (контейнер «Простой HTTP»).
# Образ: naeel/iot-emqx (Docker Hub, публичный).
# Единственный экспонируемый порт — 8083 (MQTT over WebSocket).
# Auth/ACL URL монолита задаются env (см. HISTORY раздел 16).
#
# ⚠️ Сборка от чистого debian: платформа берёт порт приложения из EXPOSE образа,
# а в базовом emqx/emqx:5.5.1 зашито 7 EXPOSE-портов (1883/4370/5369/8083/8084/
# 8883/18083), которые невозможно убрать из дочернего Dockerfile. Поэтому здесь
# ОДИН EXPOSE 8083 — иначе deck-UI требует несуществующее поле applicationUsePort.
FROM emqx/emqx:5.5.1
FROM debian:bookworm-slim
COPY emqx.conf /opt/emqx/etc/emqx.conf
RUN apt-get update \
&& apt-get install -y --no-install-recommends ca-certificates curl \
&& 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/*
# Заглушки auth/ACL URL — реальный адрес монолита задаётся env в deck-UI
# или kubectl set env после создания обоих контейнеров.
ENV EMQX_AUTHENTICATION__1__URL=http://iot-service:9090/internal/mqtt/auth \
EMQX_AUTHORIZATION__SOURCES__1__URL=http://iot-service:9090/internal/mqtt/acl
COPY emqx.conf /etc/emqx/emqx.conf
RUN mkdir -p /opt/emqx/data
# Единственный порт приложения — 8083 (MQTT over WebSocket).
# ⚠️ В deck-UI обязательно указать applicationUsePort=8083: базовый образ
# emqx/emqx:5.5.1 экспонирует ещё 1883/4370/5369/8084/8883/18083, и платформа
# требует явного указания порта приложения.
EXPOSE 8083
ENTRYPOINT ["/usr/bin/emqx"]
CMD ["foreground"]
+1 -1
View File
@@ -1,6 +1,6 @@
# EMQX-контейнер для IoT (образ naeel/iot-emqx).
VERSION ?= v0.1.0
VERSION ?= v0.1.1
IMAGE ?= naeel/iot-emqx
.PHONY: docker-build docker-push