1
0
mirror of https://github.com/raseels-repos/golang-saas-starter-kit.git synced 2025-06-06 23:46:29 +02:00

68 lines
1.4 KiB
Docker
Raw Permalink Normal View History

2019-08-19 20:21:48 -08:00
FROM golang:1.12.9-alpine3.9 AS build_base_golang
LABEL maintainer="lee@geeksinthewoods.com"
RUN apk --update --no-cache add \
git
# Change dir to project base.
WORKDIR $GOPATH/src/gitlab.com/geeks-accelerator/oss/saas-starter-kit
# Enable go modules.
ENV GO111MODULE="on"
COPY go.mod .
COPY go.sum .
RUN go mod download
RUN go get github.com/pilu/fresh
FROM build_base_golang AS dev
ARG service
ARG commit_ref=-
# Copy shared packages.
COPY internal ./internal
# Copy cmd specific packages.
COPY cmd/${service} ./cmd/${service}
COPY cmd/${service}/templates /templates
COPY cmd/${service}/static /static
# Copy the global templates.
ADD resources/templates/shared /templates/shared
ADD fresh-auto-reload.conf /runner.conf
2019-08-12 21:28:16 -08:00
ENV TEMPLATE_DIR=/templates
WORKDIR ./cmd/${service}
ENTRYPOINT ["fresh", "-c", "/runner.conf"]
FROM dev AS builder
RUN CGO_ENABLED=0 GOOS=linux go build -ldflags "-X main.build=${commit_ref}" -a -installsuffix nocgo -o /gosrv .
FROM alpine:3.9
RUN apk --update --no-cache add \
tzdata ca-certificates curl openssl
COPY --from=builder /gosrv /
COPY --from=builder /static /static
COPY --from=builder /templates /templates
2019-07-10 00:17:35 -08:00
ENV TEMPLATE_DIR=/templates
ENV SHARED_TEMPLATE_DIR=/templates/shared
2019-07-14 19:13:09 -08:00
ENV STATIC_DIR=/static
2019-07-10 00:17:35 -08:00
2019-07-07 12:52:55 -08:00
ARG service
ENV SERVICE_NAME $service
ARG env="dev"
ENV ENV $env
2019-05-25 08:26:37 -05:00
ARG gogc="20"
ENV GOGC $gogc
ENTRYPOINT ["/gosrv"]