github.com/sharovik/devbot@v1.0.1-0.20240308094637-4a0387c40516/Dockerfile (about) 1 FROM --platform=linux/amd64 golang:1.21-alpine3.17 as base 2 3 MAINTAINER Pavel Simzicov <sharovik89@ya.ru> 4 5 # Set necessary environmet variables needed for our image 6 ENV GO111MODULE=on \ 7 CGO_ENABLED=1 \ 8 GOOS=linux \ 9 GOARCH=amd64 \ 10 APP_PATH="/home/go/src/github.com/sharovik/devbot" 11 12 WORKDIR ${APP_PATH} 13 14 #I am guessing you already already aware of distroless. It is a matter of developer taste, but distroless has been something I have fallen in love with due to security and simplicity. 15 COPY . . 16 17 RUN apk add --no-cache bash && apk add --no-cache make && apk add build-base && apk add --no-cache git && apk add --no-cache tzdata 18 19 RUN make build && make cleanup 20 21 FROM --platform=linux/amd64 alpine:latest as run 22 RUN apk --no-cache add ca-certificates 23 24 ENV APP_PATH="/home/go/src/github.com/sharovik/devbot" 25 26 WORKDIR ${APP_PATH} 27 28 COPY --from=base ${APP_PATH}/bin ${APP_PATH}/bin 29 COPY --from=base ${APP_PATH}/.env ${APP_PATH}/.env 30 COPY --from=base ${APP_PATH}/devbot.sqlite ${APP_PATH}/devbot.sqlite 31 32 # Command to run when starting the container 33 ENTRYPOINT ["./bin/devbot-current-system"]