1234567891011121314151617181920212223242526272829303132333435363738 |
- FROM alpine:3.11 as download
- RUN apk add --no-cache git
- USER nobody
- # 0.2.200
- ARG MONITOR_VERSION=1deec402b9b6323a964381819b199300259bb584
- RUN git clone https://github.com/andrewjfreyer/monitor /tmp/monitor
- WORKDIR /tmp/monitor
- RUN git checkout $MONITOR_VERSION \
- && rm -r .git .gitignore
- # workaround for broken multi-stage copy
- # > failed to copy files: failed to copy directory: Error processing tar file(exit status 1): Container ID ... cannot be mapped to a host ID
- USER 0
- RUN chown -R 0:0 . \
- && chmod a+rX -R -c .
- FROM alpine:3.11
- RUN apk add --no-cache \
- bash \
- bluez-btmon \
- bluez-deprecated `# hcidump` \
- coreutils `# timeout busybox implementation incompatible` \
- curl `# support/data https://api.macvendors.com/` \
- gawk `# in verbose mode: %*x formats are not supported` \
- mosquitto-clients \
- tini \
- && find / -xdev -type f -perm /u+s -exec chmod -c u-s {} \; \
- && find / -xdev -type f -perm /g+s -exec chmod -c g-s {} \; \
- && mkdir /monitor-config \
- && chmod a+rwxt /monitor-config `# .public_name_cache`
- ENTRYPOINT ["/sbin/tini", "--"]
- VOLUME /monitor-config
- COPY --from=download /tmp/monitor /monitor
- RUN chmod a+rwxt /monitor `# mkfifo main_pipe|log_pipe|packet_pipe`
- # still using rwxt on $CONFIG_DIR_PATH to support arbitrary uids
- USER nobody
- # > line 1986: main_pipe: No such file or directory
- WORKDIR /monitor
- CMD ["bash", "monitor.sh", "-D", "/monitor-config", "-V"]
|