# syntax=docker/dockerfile:1

##
## Build
##
FROM golang:1.19-buster AS build

WORKDIR /app

COPY go.mod ./
COPY go.sum ./
RUN --mount=type=cache,target=~/.cache/go-build,type=cache,target=~/go/pkg/mod go mod download

COPY . .

RUN --mount=type=cache,target=~/.cache/go-build,type=cache,target=~/go/pkg/mod CGO_LDFLAGS="-L./lib -Wl,-rpath,\$ORIGIN/lib" go build -v

##
## Package
##
FROM ubuntu:lunar

#RUN apk add gcompat libgcc libstdc++

EXPOSE 8080
WORKDIR /app
VOLUME /app/data
COPY ./lib ./lib

ENTRYPOINT ["/app/calapi"]
CMD ["serve"]

COPY --from=build /app/calapi /app/calapi