Something went wrong. Try again.
A lightweight proxy service, allowing you to use old Twitter clients with Bluesky
Something went wrong. Try again.
mockingbird Dockerfile
1.3 kB · 29 lines
Dockerfile
at main
123456789101112131415161718192021222324252627282930# syntax=docker/dockerfile:1## Multi-arch build: docker buildx build --platform linux/arm64,linux/amd64 .# The Go build cross-compiles on the build host; the runtime image is# distroless (CA certificates, no shell) and runs as a non-root user.
FROM --platform=$BUILDPLATFORM golang:1.27.1-alpine@sha256:8a5910f31396cd4d89662f56c68b3ae31d374308270a1c3bd96672ee5ed43414 AS buildARG TARGETOSARG TARGETARCHARG VERSION=devWORKDIR /srcENV CGO_ENABLED=0 GOTOOLCHAIN=localCOPY go.mod go.sum ./RUN --mount=type=cache,target=/root/go/pkg/mod go mod downloadCOPY . .RUN --mount=type=cache,target=/root/go/pkg/mod --mount=type=cache,target=/root/.cache/go-build \ GOOS=$TARGETOS GOARCH=$TARGETARCH go build -trimpath -ldflags "-s -w -X main.version=${VERSION}" \ -o /out/mockingbird ./cmd/mockingbirdRUN mkdir -p /out/data
FROM gcr.io/distroless/static-debian12:nonroot@sha256:afa5c872c891853ca7fcf1f12c3edb23f7eeef36189728842dd51042ff57f7abCOPY --from=build /out/mockingbird /mockingbirdCOPY --from=build --chown=65532:65532 /out/data /dataUSER 65532:65532ENV MB_DATA_DIR=/dataVOLUME ["/data"]EXPOSE 8080 8443HEALTHCHECK --interval=30s --timeout=5s --start-period=10s CMD ["/mockingbird", "healthcheck"]ENTRYPOINT ["/mockingbird"]