summaryrefslogtreecommitdiff
path: root/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'Dockerfile')
-rw-r--r--Dockerfile25
1 files changed, 25 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..9b25510
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,25 @@
+FROM docker.io/alpine:3.21 AS build
+
+RUN apk add --no-cache make gcc musl-dev cmake libmicrohttpd-dev ruby
+
+COPY . /app
+WORKDIR /app
+
+RUN cd thirdparty/prometheus-client-c && \
+ cmake -B build -S prom && \
+ make -C build && \
+ make -C build install
+
+RUN make test dht
+
+FROM docker.io/alpine:3.21
+RUN apk add --no-cache libmicrohttpd
+COPY --from=build /usr/local/lib/libprom.so /usr/lib/libprom.so
+
+COPY --from=build /app/dht /app/dht
+
+VOLUME /data
+EXPOSE 6981
+WORKDIR /data
+
+ENTRYPOINT /app/dht