From 02dd79dd961294783896b7f304acf036a9b323f0 Mon Sep 17 00:00:00 2001 From: Imbus <> Date: Sun, 26 Jan 2025 12:15:50 +0100 Subject: [PATCH 1/3] Better clean target --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index f6fc051..2ab1da0 100644 --- a/Makefile +++ b/Makefile @@ -15,6 +15,6 @@ $(release_name): clean: make -C ./rex_client clean make -C ./rex_server clean - rm -rf rexforge_* + rm -rf *.tar.gz .PHONY: release clean From 711f1a1f3af3fcb8aeedde255b319824554cbfc7 Mon Sep 17 00:00:00 2001 From: Imbus <> Date: Sun, 26 Jan 2025 12:27:04 +0100 Subject: [PATCH 2/3] Include source and some extra buildinfo in release tarballs --- Makefile | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Makefile b/Makefile index 2ab1da0..e875a3e 100644 --- a/Makefile +++ b/Makefile @@ -7,6 +7,12 @@ release: $(release_name) mv ./rex_client/rexclient $(release_name) mv ./rex_server/rexserver $(release_name) cp ./LICENSE.txt $(release_name) + cp ./README.md $(release_name) + mkdir -p $(release_name)/source + git ls-files | xargs -I{} cp --parents {} $(release_name)/source + date -I > $(release_name)/VERSION.txt + echo $(rev) >> $(release_name)/VERSION.txt + go version >> $(release_name)/VERSION.txt tar cvzf $(release_name).tar.gz $(release_name) $(release_name): From 0676495d0f3da9756c4910b88a403f2599d1a2fc Mon Sep 17 00:00:00 2001 From: Imbus <> Date: Sun, 26 Jan 2025 12:29:14 +0100 Subject: [PATCH 3/3] 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"] +