# 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"]
