ADD file:2aed4bf330381a82ec856eec00520036b6dd25910f7a42a0ac045d58ba2e08b5 in / |
CMD ["/bin/sh"] |
LABEL maintainer=Roger Light <roger@atchoo.org> description=Eclipse Mosquitto MQTT Broker |
ENV VERSION=2.0.18 DOWNLOAD_SHA256=d665fe7d0032881b1371a47f34169ee4edab67903b2cd2b4c083822823f4448a GPG_KEYS=A0D6EEA1DCAE49A635A3B2F0779B22DFB3E717B7 LWS_VERSION=4.2.1 LWS_SHA256=842da21f73ccba2be59e680de10a8cce7928313048750eb6ad73b6fa50763c51 |
/bin/sh -c set -x && apk --no-cache add --virtual build-deps build-base cmake cjson-dev gnupg libressl-dev linux-headers util-linux-dev && wget https://github.com/warmcat/libwebsockets/archive/v${LWS_VERSION}.tar.gz -O /tmp/lws.tar.gz && echo "$LWS_SHA256 /tmp/lws.tar.gz" | sha256sum -c - && mkdir -p /build/lws && tar --strip=1 -xf /tmp/lws.tar.gz -C /build/lws && rm /tmp/lws.tar.gz && cd /build/lws && cmake . -DCMAKE_BUILD_TYPE=MinSizeRel -DCMAKE_INSTALL_PREFIX=/usr -DDISABLE_WERROR=ON -DLWS_IPV6=ON -DLWS_WITHOUT_BUILTIN_GETIFADDRS=ON -DLWS_WITHOUT_CLIENT=ON -DLWS_WITHOUT_EXTENSIONS=ON -DLWS_WITHOUT_TESTAPPS=ON -DLWS_WITH_EXTERNAL_POLL=ON -DLWS_WITH_HTTP2=OFF -DLWS_WITH_SHARED=OFF -DLWS_WITH_ZIP_FOPS=OFF -DLWS_WITH_ZLIB=OFF && make -j "$(nproc)" && rm -rf /root/.cmake && wget https://mosquitto.org/files/source/mosquitto-${VERSION}.tar.gz -O /tmp/mosq.tar.gz && echo "$DOWNLOAD_SHA256 /tmp/mosq.tar.gz" | sha256sum -c - && wget https://mosquitto.org/files/source/mosquitto-${VERSION}.tar.gz.asc -O /tmp/mosq.tar.gz.asc && export GNUPGHOME="$(mktemp -d)" && found=''; for server in hkps://keys.openpgp.org hkp://keyserver.ubuntu.com:80 pgp.mit.edu ; do echo "Fetching GPG key $GPG_KEYS from $server"; gpg --keyserver "$server" --keyserver-options timeout=10 --recv-keys "$GPG_KEYS" && found=yes && break; done; test -z "$found" && echo >&2 "error: failed to fetch GPG key $GPG_KEYS" && exit 1; gpg --batch --verify /tmp/mosq.tar.gz.asc /tmp/mosq.tar.gz && gpgconf --kill all && rm -rf "$GNUPGHOME" /tmp/mosq.tar.gz.asc && mkdir -p /build/mosq && tar --strip=1 -xf /tmp/mosq.tar.gz -C /build/mosq && rm /tmp/mosq.tar.gz && make -C /build/mosq -j "$(nproc)" CFLAGS="-Wall -O2 -I/build/lws/include -I/build" LDFLAGS="-L/build/lws/lib" WITH_ADNS=no WITH_DOCS=no WITH_SHARED_LIBRARIES=yes WITH_SRV=no WITH_STRIP=yes WITH_TLS_PSK=no WITH_WEBSOCKETS=yes prefix=/usr binary && addgroup -S -g 1883 mosquitto 2>/dev/null && adduser -S -u 1883 -D -H -h /var/empty -s /sbin/nologin -G mosquitto -g mosquitto mosquitto 2>/dev/null && mkdir -p /mosquitto/config /mosquitto/data /mosquitto/log && install -d /usr/sbin/ && install -s -m755 /build/mosq/client/mosquitto_pub /usr/bin/mosquitto_pub && install -s -m755 /build/mosq/client/mosquitto_rr /usr/bin/mosquitto_rr && install -s -m755 /build/mosq/client/mosquitto_sub /usr/bin/mosquitto_sub && install -s -m644 /build/mosq/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1 && install -s -m755 /build/mosq/src/mosquitto /usr/sbin/mosquitto && install -s -m755 /build/mosq/apps/mosquitto_ctrl/mosquitto_ctrl /usr/bin/mosquitto_ctrl && install -s -m755 /build/mosq/apps/mosquitto_passwd/mosquitto_passwd /usr/bin/mosquitto_passwd && install -s -m755 /build/mosq/plugins/dynamic-security/mosquitto_dynamic_security.so /usr/lib/mosquitto_dynamic_security.so && install -m644 /build/mosq/mosquitto.conf /mosquitto/config/mosquitto.conf && install -Dm644 /build/lws/LICENSE /usr/share/licenses/libwebsockets/LICENSE && install -Dm644 /build/mosq/epl-v20 /usr/share/licenses/mosquitto/epl-v20 && install -Dm644 /build/mosq/edl-v10 /usr/share/licenses/mosquitto/edl-v10 && chown -R mosquitto:mosquitto /mosquitto && apk --no-cache add ca-certificates cjson libressl && apk del build-deps && rm -rf /build |
VOLUME [/mosquitto/data /mosquitto/log] |
COPY multi:f828fb0704e6f46a450b717895e8dada966524fb8a3bd947f3ac0bd7ae28f571 in / |
EXPOSE 1883 |
ENTRYPOINT ["/docker-entrypoint.sh"] |
CMD ["/usr/sbin/mosquitto" "-c" "/mosquitto/config/mosquitto.conf"] |