FROM debian:stable-slim ARG USERNAME=vscode ARG USER_UID=1000 ARG USER_GID=1000 RUN groupadd --gid $USER_GID $USERNAME \ && useradd --uid $USER_UID --gid $USER_GID -m $USERNAME \ && apt-get update && apt-get install -y sudo \ && echo "$USERNAME ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers RUN RUN set -eux; \ apt-get update; \ apt-get install -y \ git \ build-essential \ cmake \ gdb; RUN set -eux; \ apt-get update; \ apt-get install -y \ libncurses-dev \ libmicrohttpd-dev \ libcurl4-openssl-dev \ zlib1g-dev \ prometheus-cpp-dev \ nlohmann-json3-dev RUN set -eux; \ apt-get update; \ apt-get install -y \ libpaho-mqtt-dev RUN set -eux; \ git clone https://github.com/eclipse/paho.mqtt.cpp.git; \ cd paho.mqtt.cpp; \ git submodule init; \ git submodule update; \ mkdir build && cd build; \ cmake -DPAHO_WITH_MQTT_C=ON ..; \ cmake --build . --target install; \ ldconfig; RUN set -eux; \ apt-get update; \ apt-get install -y \ librabbitmq4 \ librabbitmq-dev;\ apt-get clean USER $USERNAME WORKDIR /workspace CMD ["sleep infinity"]