From 3a1d08661b554c5bbd923ca3f366efc5cbe1f2bd Mon Sep 17 00:00:00 2001 From: William Petit Date: Wed, 17 Jun 2020 23:47:49 +0200 Subject: [PATCH] Add Docker Hub packaging tasks --- Makefile | 23 +++++++++++++++++++++++ misc/docker/Dockerfile | 24 ++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 misc/docker/Dockerfile diff --git a/Makefile b/Makefile index d3b07b4..23b1008 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,7 @@ DOKKU_HOST := dokku@dev.lookingfora.name SHELL := /bin/bash +DOCKER_IMAGE_NAME ?= bornholm/hydra-passwordless +DOCKER_IMAGE_TAG ?= latest build: vendor CGO_ENABLED=0 go build -mod=vendor -v -o bin/server ./cmd/server @@ -69,6 +71,27 @@ dokku-deploy-sso: $(if $(shell git config remote.dokku-sso.url),, git remote add dokku-sso $(DOKKU_HOST):sso) git push -f dokku-sso $(shell git rev-parse HEAD):refs/heads/master +docker-build: + docker build \ + --build-arg="HTTP_PROXY=$(HTTP_PROXY)" \ + --build-arg="HTTPS_PROXY=${HTTP_PROXY}" \ + --build-arg="https_proxy=${https_proxy}" \ + --build-arg="http_proxy=${http_proxy}" \ + -t hydra-passwordless:latest \ + -f ./misc/docker/Dockerfile \ + . + +docker-run: + docker run \ + -it --rm \ + -p 3000:3000 \ + hydra-passwordless:latest + +docker-release: docker-build + docker image tag hydra-passwordless:latest $(DOCKER_IMAGE_NAME):$(DOCKER_IMAGE_TAG) + docker login + docker push $(DOCKER_IMAGE_NAME):$(DOCKER_IMAGE_TAG) + clean: rm -rf release rm -rf data diff --git a/misc/docker/Dockerfile b/misc/docker/Dockerfile new file mode 100644 index 0000000..10190a7 --- /dev/null +++ b/misc/docker/Dockerfile @@ -0,0 +1,24 @@ +FROM golang:1.14 AS build + +ARG HTTP_PROXY= +ARG HTTPS_PROXY= +ARG http_proxy= +ARG https_proxy= + +RUN apt-get update && apt-get install -y build-essential git bash + +COPY . /src + +WORKDIR /src + +RUN make ARCH_TARGETS=amd64 release + +FROM busybox + +COPY --from=build /src/release/server-linux-amd64 /app + +WORKDIR /app + +EXPOSE 3000 + +CMD ["bin/server", "-workdir", "/app", "-config", "server.yml"] \ No newline at end of file