gluon-supernode-docker/fastd/Dockerfile

50 lines
1.4 KiB
Docker

FROM docker.io/library/debian:bullseye AS builder
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --no-install-suggests -y \
bison \
build-essential \
libcap-dev \
libjson-c-dev \
libmnl-dev \
libsodium-dev \
libssl-dev \
libuecc-dev \
meson \
ninja-build \
pkg-config \
&& mkdir /build
WORKDIR /build
COPY ./source /source
RUN meson setup /source /build -Dbuildtype=release \
&& ninja \
&& ninja install
FROM docker.io/library/debian:bullseye
ENV FASTD_INTERFACE=
ENV FASTD_LOG_LEVEL=info
ENV FASTD_PORT=10000
ENV FASTD_MTU=1300
ENV FASTD_METHODS="salsa2012+umac null"
ENV FASTD_SECRET_KEY=
ENV FASTD_ON_UP_MASTER_INTERFACE=
ENV FASTD_DONT_VERIFY_PEERS=0
EXPOSE 10000/udp
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --no-install-suggests -y batctl iproute2 \
&& rm -rf /var/lib/apt/lists /var/cache/apt/archives
COPY --from=builder /usr/local/bin/fastd /usr/local/bin/fastd
COPY fastd.conf /etc/fastd/fastd.conf
COPY on_up.sh /etc/fastd/on_up.sh
COPY entry-point.sh /entry-point.sh
RUN chmod +x /entry-point.sh /etc/fastd/on_up.sh \
&& chmod 600 /etc/fastd/fastd.conf \
&& touch /etc/fastd/fastd_generated.conf \
&& mkdir -p /etc/fastd/peers
ENTRYPOINT ["/bin/sh", "/entry-point.sh"]