From 0676495d0f3da9756c4910b88a403f2599d1a2fc Mon Sep 17 00:00:00 2001 From: Imbus <> Date: Sun, 26 Jan 2025 12:29:14 +0100 Subject: [PATCH] Containerfile and build target --- Makefile | 6 +++++- container/Containerfile | 24 ++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 container/Containerfile diff --git a/Makefile b/Makefile index e875a3e..417f50a 100644 --- a/Makefile +++ b/Makefile @@ -18,9 +18,13 @@ release: $(release_name) $(release_name): mkdir -p $@ +container: + podman build -t rexserver -f container/Containerfile . + clean: make -C ./rex_client clean make -C ./rex_server clean rm -rf *.tar.gz + rm -rf rexforge_* -.PHONY: release clean +.PHONY: release clean container diff --git a/container/Containerfile b/container/Containerfile new file mode 100644 index 0000000..e56067b --- /dev/null +++ b/container/Containerfile @@ -0,0 +1,24 @@ +FROM docker.io/golang:alpine as go +WORKDIR /build +# ADD rex_server/go.mod rex_server/go.sum ./ # WARNING: Include go.sum +ADD rex_server/go.mod ./ + +RUN go mod download + +# Add the rest of the source +ADD . . + +RUN go build -o ./rexserver ./rex_server/server.go + +# Runner image, drop privileges +FROM docker.io/alpine:latest as runner +RUN adduser -D nonroot +RUN addgroup nonroot nonroot +WORKDIR /app +RUN chown nonroot:nonroot /app + +COPY --from=go /build/rexserver rexserver +EXPOSE 8080 +USER nonroot:nonroot +CMD ["./rexserver"] +