diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..30075d0 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,38 @@ +## Build +FROM golang:1.19-buster AS build + +WORKDIR /app + +COPY go.mod ./ +COPY go.sum ./ +RUN go mod download + +COPY *.go ./ +COPY app/*.go ./app/ +COPY config/*.go ./config/ +COPY routes/*.go ./routes/ +COPY services/*.go ./services/ + +RUN go build -o /basic-sensor-receiver +RUN mkdir /data + +## Deploy +FROM gcr.io/distroless/base-debian10 + +WORKDIR / + +COPY --from=build /basic-sensor-receiver /basic-sensor-receiver +COPY --from=build /data /data +COPY client ./client + +ENV PORT 80 +ENV GIN_MODE release +ENV DATABASE_URL /data/sensors.sqlite3 +ENV BIND_IP 0.0.0.0 +ENV AUTH_USERNAME admin +ENV AUTH_PASSWORD password + +EXPOSE ${PORT} +VOLUME [ "/data" ] + +ENTRYPOINT ["/basic-sensor-receiver"]