summaryrefslogtreecommitdiffstats
path: root/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'Dockerfile')
-rw-r--r--Dockerfile26
1 files changed, 24 insertions, 2 deletions
diff --git a/Dockerfile b/Dockerfile
index 0b159f0..f2e71d6 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,11 +1,33 @@
-FROM registry.redhat.io/rhel9/go-toolset:1.20.12-3.1712567214
+FROM docker.io/golang:alpine
+
+RUN addgroup -S app && adduser -S -g app app
WORKDIR /app
+RUN apk add --update npm
RUN npm i sass govuk-frontend --save
+
+# Switch to root user
+USER root
+
COPY go.mod ./
RUN go mod download && go mod verify
+
COPY . .
+RUN chown -R app:app /app
+
+# Create a directory for the binary
+RUN mkdir /app/bin
+RUN chown app:app /app/bin
+
+# Switch back to app user
+USER app
+
+# Build the Go binary in the /app/bin directory
RUN go build -v -o /app/bin/app ./cmd/web
-CMD ["./bin/app"]
+
+# Set the working directory to /app/bin
+WORKDIR /app/bin
+
+CMD ["./app"]
EXPOSE 4000