aboutsummaryrefslogtreecommitdiff
path: root/contrib/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/Dockerfile')
-rw-r--r--contrib/Dockerfile35
1 files changed, 35 insertions, 0 deletions
diff --git a/contrib/Dockerfile b/contrib/Dockerfile
new file mode 100644
index 0000000..d2e3056
--- /dev/null
+++ b/contrib/Dockerfile
@@ -0,0 +1,35 @@
+# syntax=docker/dockerfile:1
+
+FROM golang:1.22-alpine AS builder
+RUN apk add --no-cache git make sassc
+
+WORKDIR /build
+
+# Download Git submodules
+COPY .git ./.git
+RUN git submodule update --init --recursive
+
+# Download Go modules
+COPY go.mod go.sum ./
+RUN go mod download
+RUN go mod verify
+
+# Transfer source code
+COPY Makefile .
+COPY scss ./scss
+COPY static ./static
+COPY templates ./templates
+COPY *.go ./
+COPY pkg ./pkg
+
+# Build
+RUN make
+
+FROM scratch AS build-release-stage
+
+WORKDIR /app
+
+COPY --from=builder /build/cerrado .
+COPY contrib/config.docker.scfg /etc/cerrado.scfg
+
+ENTRYPOINT ["./cerrado"]