ARG BUILD_FROM FROM $BUILD_FROM # Setup base ARG LIBWEBSOCKETS_VERSION ARG TTYD_VERSION RUN \ set -x \ && apk add --no-cache \ bash-completion \ pulseaudio-utils \ alsa-plugins-pulse \ bluez \ git \ tinc \ libuv \ mosquitto-clients \ nano \ openssh \ pwgen \ tmux \ vim \ \ && apk add --no-cache --virtual .build-dependencies \ bsd-compat-headers \ build-base \ linux-headers \ cmake \ json-c-dev \ libuv-dev \ openssl-dev \ zlib-dev \ \ && sed -i "s/ash/bash/" /etc/passwd \ \ && git clone --branch "v${LIBWEBSOCKETS_VERSION}" --depth=1 \ https://github.com/warmcat/libwebsockets.git /tmp/libwebsockets \ \ && mkdir -p /tmp/libwebsockets/build \ && cd /tmp/libwebsockets/build \ && cmake .. \ -DCMAKE_BUILD_TYPE=MinSizeRel \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_VERBOSE_MAKEFILE=TRUE \ -DLWS_IPV6=ON \ -DLWS_STATIC_PIC=ON \ -DLWS_UNIX_SOCK=OFF \ -DLWS_WITH_LIBUV=ON \ -DLWS_WITH_SHARED=ON \ -DLWS_WITHOUT_TESTAPPS=ON \ && make \ && make install \ \ && git clone --branch main --single-branch \ https://github.com/tsl0922/ttyd.git /tmp/ttyd \ && git -C /tmp/ttyd checkout "${TTYD_VERSION}" \ \ && mkdir -p /tmp/ttyd/build \ && cd /tmp/ttyd/build \ && cmake .. \ -DCMAKE_BUILD_TYPE=MinSizeRel \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_VERBOSE_MAKEFILE=TRUE \ && make \ && make install \ \ && apk del --no-cache --purge .build-dependencies \ && rm -f -r \ /root/.cache \ /root/.cmake \ /tmp/* # Add YAML highlighting for nano ADD https://raw.githubusercontent.com/scopatz/nanorc/master/yaml.nanorc /usr/share/nano/yaml.nanorc RUN sed -i 's/^#[[:space:]]*\(include "\/usr\/share\/nano\/\*\.nanorc".*\)/\1/' /etc/nanorc # Copy data COPY rootfs /