Clone DeepFlow git repositry https://github.com/deepflowio/deepflow and make your change.
Add a new Dockerfile for building DeepFlow server:
$ cat <<EOF > ./server/Dockerfile.ci
FROM crazytaxii/deepflow-builder:latest AS builder
COPY . /go/deepflow
WORKDIR /go/deepflow/server
RUN make libs/geo/ip_info.go
RUN CGO_ENABLED=0 make server
FROM alpine:latest
RUN apk update && \
apk upgrade && \
apk add tzdata
COPY ./server/server.yaml /etc/
RUN mkdir /etc/mysql
COPY ./server/controller/db/mysql/migration/rawsql /etc/mysql
COPY ./server/controller/cloud/filereader/manual_data_samples.yaml /etc/
COPY ./server/querier/db_descriptions /etc/db_descriptions/
COPY --from=builder /go/deepflow/server/bin/deepflow-server /bin/deepflow-server
CMD /bin/deepflow-server
EOF
Build your image docker build -t ${repo}/deepflow-server:dev -f ./server/Dockerfile.ci .
.
BTW, the Dockerfile of builder image:
FROM golang:1.20-alpine3.19
RUN apk update && \
apk add protoc python3 py3-ujson make git
RUN go install github.com/gogo/protobuf/protoc-gen-gofast@v1.3.2 && \
go install github.com/gogo/protobuf/protoc-gen-gogo@v1.3.2 && \
go install github.com/benbjohnson/tmpl@v1.1.0