28 lines
738 B
Docker
28 lines
738 B
Docker
FROM docker.io/alpine:latest AS builder
|
|
|
|
RUN apk add --no-cache build-base linux-headers
|
|
|
|
COPY mdns-repeater.c /src/
|
|
RUN gcc -static -O2 -o /mdns-repeater /src/mdns-repeater.c -lpthread
|
|
|
|
FROM docker.io/alpine:latest as runtime
|
|
|
|
COPY --from=builder /mdns-repeater /usr/local/bin/
|
|
COPY --chmod=755 entrypoint.sh /
|
|
COPY --chmod=755 healthcheck.sh /usr/local/bin/
|
|
|
|
RUN apk add --no-cache libcap iproute2 \
|
|
&& adduser -D -s /sbin/nologin mdns \
|
|
&& setcap 'cap_net_raw,cap_net_bind_service=+ep' /usr/local/bin/mdns-repeater \
|
|
&& mkdir -p /tmp \
|
|
&& chown mdns:mdns /tmp
|
|
|
|
USER mdns
|
|
|
|
HEALTHCHECK --interval=15s --timeout=5s --start-period=5s --retries=3 \
|
|
CMD /usr/local/bin/healthcheck.sh
|
|
|
|
EXPOSE 5353/udp
|
|
|
|
ENTRYPOINT ["/entrypoint.sh"]
|
|
|