build(docker): add Dockerfile and .dockerignore
Multi-stage build using golang:1.26 for compilation and
distroless/static-debian12:nonroot for runtime. The build stage
uses BuildKit caches for modules and build artifacts. The runtime
image includes only CA certs and tzdata, runs as nonroot, and
exposes ports 8080 (Smart HTTP), 9418 (git://), and 9090 (metrics).
Static stripped binary compiled with CGO_ENABLED=0 since objgitd
is pure Go and answers the git protocol natively without a git
binary dependency.
.dockerignore excludes the 600MB var/ Go SDK tree, .git, docs,
and other non-essential files to keep the build context lean.
Assisted-by: Claude Opus 4.8 via Claude Code
Signed-off-by: Xe Iaso <me@xeiaso.net>