From d718b622e3701214a260f3d82ae655c58b7938e8 Mon Sep 17 00:00:00 2001 From: Jonathan Buch Date: Tue, 1 Oct 2024 13:17:34 +0200 Subject: [PATCH] Add docker packaging * Use `make docker` to build locally --- .dockerignore | 3 +++ Dockerfile | 10 ++++++++++ Makefile | 7 ++++++- 3 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 .dockerignore create mode 100644 Dockerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..274e25e --- /dev/null +++ b/.dockerignore @@ -0,0 +1,3 @@ +* +!pkg/web/public/ +!bin/ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..2b3e2a8 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,10 @@ +FROM gcr.io/distroless/static-debian12 + +EXPOSE 3000 + +COPY bin/tales-server / + +VOLUME /work + +ENTRYPOINT ["/tales-server"] +CMD ["-projects", "/work"] diff --git a/Makefile b/Makefile index 058806a..88d6ddc 100644 --- a/Makefile +++ b/Makefile @@ -28,7 +28,7 @@ BINARIES=${SERVER_BINARY} ${MIGRATE_BINARY} coverage coverage-go coverage-js \ lint lint-go lint-js \ test test-go test-js \ - run dist + run dist docker all: build @@ -98,6 +98,11 @@ tales-server.zip: bin/* pkg/web/public/* dist-js: npm run dist +CONTAINER_BUILDER := $(shell which docker 2>/dev/null || which podman 2>/dev/null) +docker: + CGO_ENABLED=0 go build -ldflags "$(LDFLAGS) -extldflags=-static" -o bin/tales-server $(PKG)/cmd/tales-server + ${CONTAINER_BUILDER} build -t tales . + clean: clean-go clean-js clean-go: