51 lines
1.4 KiB
Docker
51 lines
1.4 KiB
Docker
|
FROM golang:1.23.4-bookworm AS build
|
||
|
|
||
|
ENV CGO_ENABLED=1
|
||
|
|
||
|
ARG BUILDPLATFORM
|
||
|
ARG TARGETPLATFORM
|
||
|
ARG BUILD=dev
|
||
|
|
||
|
WORKDIR /build
|
||
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||
|
libgdbm-dev \
|
||
|
git \
|
||
|
&& rm -rf /var/lib/apt/lists/*
|
||
|
RUN git clone https://git.defalsify.org/vise.git go-vise
|
||
|
COPY . ./sarafu-vise
|
||
|
|
||
|
WORKDIR /build/sarafu-vise/services/registration
|
||
|
RUN echo "Compiling go-vise files"
|
||
|
RUN make VISE_PATH=/build/go-vise -B
|
||
|
|
||
|
WORKDIR /build/sarafu-vise
|
||
|
RUN echo "Building on $BUILDPLATFORM, building for $TARGETPLATFORM"
|
||
|
RUN go mod download
|
||
|
RUN go build -tags logtrace,online -o sarafu-ussd -ldflags="-X main.build=${BUILD} -s -w" cmd/africastalking/main.go
|
||
|
RUN go build -tags logtrace,online -o sarafu-ssh -ldflags="-X main.build=${BUILD} -s -w" cmd/ssh/main.go
|
||
|
|
||
|
FROM debian:bookworm-slim
|
||
|
|
||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||
|
|
||
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||
|
libgdbm-dev \
|
||
|
ca-certificates \
|
||
|
&& apt-get clean \
|
||
|
&& rm -rf /var/lib/apt/lists/*
|
||
|
|
||
|
WORKDIR /service
|
||
|
|
||
|
COPY --from=build /build/sarafu-vise/sarafu-ussd .
|
||
|
COPY --from=build /build/sarafu-vise/sarafu-ssh .
|
||
|
COPY --from=build /build/sarafu-vise/LICENSE .
|
||
|
COPY --from=build /build/sarafu-vise/README.md .
|
||
|
COPY --from=build /build/sarafu-vise/services ./services
|
||
|
COPY --from=build /build/sarafu-vise/.env.example .
|
||
|
RUN mv .env.example .env
|
||
|
|
||
|
EXPOSE 7123
|
||
|
EXPOSE 7122
|
||
|
|
||
|
CMD ["./sarafu-ussd"]
|