fq Docker & Self-Hosted Deployment

GitHub

Fq - jq for binary formats. Tool, language and decoders for working with binary formats.

10,609 stars Go Go 1 file ยท ~42,186 tokens #binary#cli#decode#go#golang#hexdump#jq#json
1. Pull Image (DOCKERHUB) docker pull wader/fq:latest
2. Docker Run (1-Click Launch) docker run -d --name fq --restart always wader/fq:latest
3. Podman Run podman run -d --name fq --restart always wader/fq:latest
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://docker.io/wader/fq:latest
5. ORAS Pull (OCI Artifact) oras pull wader/fq:latest
Dockerfile
# bump: docker-golang /FROM golang:([\d.]+)/ docker:golang|^1
FROM golang:1.27.3-bookworm AS base

# expect is used to test cli
RUN \
    apt-get update -q && \
    apt-get install --no-install-recommends -qy \
    expect

# docker build --target dev -t fq-dev - < Dockerfile && docker run --rm -ti -v "$PWD:/$PWD" -w "$PWD" fq-dev
FROM base AS dev

FROM base AS builder

WORKDIR $GOPATH/src/fq
COPY go.mod go.sum ./
RUN go mod download
COPY Makefile *.go ./
COPY pkg pkg
COPY internal internal
COPY format format
RUN make test fq
RUN cp fq /fq

FROM scratch
COPY --from=builder /fq /fq
RUN ["/fq", "--version"]
ENTRYPOINT ["/fq"]