From 1148bb15518c3afe205de5065a64af1b6a7420f0 Mon Sep 17 00:00:00 2001 From: Sebas Date: Mon, 22 Jun 2026 08:03:11 +0000 Subject: [PATCH] Stage 0: Containerfile (musl-static, stdio-Entrypoint) --- Containerfile | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 Containerfile diff --git a/Containerfile b/Containerfile new file mode 100644 index 0000000..8ac9429 --- /dev/null +++ b/Containerfile @@ -0,0 +1,19 @@ +# syntax=docker/dockerfile:1 + +# ── Build-Stage: statisches musl-Binary ── +# rust:alpine baut nativ gegen x86_64-unknown-linux-musl (kein Cross-Compile). +FROM rust:alpine AS build +RUN apk add --no-cache musl-dev +WORKDIR /src +COPY . . +RUN cargo build --release --bin dtrack-stdio + +# ── Runtime-Stage: minimal ── +FROM alpine:3.20 +RUN apk add --no-cache ca-certificates +COPY --from=build /src/target/release/dtrack-stdio /usr/local/bin/dtrack-stdio + +# stdio-Transport: der Container wird vom MCP-Client (Claude Desktop) via +# `docker run -i` / `podman run -i` gestartet -- KEIN langlebiger Dienst. +# Config kommt zur Laufzeit ueber -e DTRACK_URL / -e DTRACK_API_KEY rein. +ENTRYPOINT ["/usr/local/bin/dtrack-stdio"]