cerrado @ 385586d383acd0868ace3f5da2094dd87c1b89e3

feat: Add docker support
diff --git a/contrib/Dockerfile b/contrib/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..d2e30565e3a317603f4f5d8b3161499daae261e8
--- /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"]
diff --git a/contrib/config.docker.scfg b/contrib/config.docker.scfg
new file mode 100644
index 0000000000000000000000000000000000000000..64b1bffc2a4accada7fb1e61d3a9d81b5bceba5d
--- /dev/null
+++ b/contrib/config.docker.scfg
@@ -0,0 +1,7 @@
+listen-addr tcp://:8080
+
+root-readme /srv/git/README.md
+
+scan /srv/git/ {
+    public true
+}
diff --git a/contrib/docker-compose.yaml b/contrib/docker-compose.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..5de78633e28bf7e4c0d8695da7b5f5a74c4ea61a
--- /dev/null
+++ b/contrib/docker-compose.yaml
@@ -0,0 +1,14 @@
+name: cerrado
+
+services:
+  app:
+    container_name: cerrado
+    restart: unless-stopped
+    build:
+      context: ../
+      dockerfile: contrib/Dockerfile
+    ports:
+      - "8080:8080"
+    volumes:
+      - /srv/git:/srv/git # set your scan folder here
+      # - ./config.scfg:/etc/cerrado.scfg:ro # load a custom config file