From 9673e94d80ab7949cda327c58b49f04b9f087c0f Mon Sep 17 00:00:00 2001 From: Andrew Nikitin Date: Thu, 14 Apr 2022 17:21:23 +0300 Subject: [PATCH] [DEV-1074] Impove docker-compose Signed-off-by: Andrew Nikitin --- docker/.env | 12 ++++++++++++ docker/Dockerfile | 34 ++++++++++++++++++++++++++++++++++ docker/docker-compose.yml | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 78 insertions(+) create mode 100644 docker/.env create mode 100644 docker/Dockerfile create mode 100644 docker/docker-compose.yml diff --git a/docker/.env b/docker/.env new file mode 100644 index 00000000..c983c7e8 --- /dev/null +++ b/docker/.env @@ -0,0 +1,12 @@ +# Port which will be used for incoming requests on resolver side +RESOLVER_PORT="1313" + +# Drivers port for application side. +# For example, if you application will send requests to http://localhost/ +# then port should be 80 +REDIRECTED_PORT="80" + +LOCAL_REDIRECT_FROM=localhost:80 + +# Address with port of external DID-Resolver. +EXTERNAL_REDIRECT_TO=http://localhost:1313 \ No newline at end of file diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 00000000..322e93e3 --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,34 @@ +############################################################### +### STAGE 1: Build did-resolver binary pre-requisites ### +############################################################### + +FROM golang:1.17.8-buster as builder + +WORKDIR /root + +COPY types ./types +COPY services ./services +COPY go.mod . +COPY go.sum . +COPY main.go . + +RUN ls -la +# Make did-resolver binary +RUN go build -o did-resolver main.go + +############################################################### +### STAGE 2: Build did-resolver runner ### +############################################################### + +FROM ubuntu:focal AS runner +LABEL org.opencontainers.image.description "Cheqd DID-Resolver runner" +LABEL org.opencontainers.image.source "https://github.com/cheqd/cheqd-did-resolver" + +# Copy compiled did-resolver binary from Stage 1 +COPY --from=builder /root/did-resolver /bin + +# Copy base config.yml +WORKDIR /root + +EXPOSE 1313 +ENTRYPOINT ["did-resolver"] \ No newline at end of file diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml new file mode 100644 index 00000000..85157266 --- /dev/null +++ b/docker/docker-compose.yml @@ -0,0 +1,32 @@ +version: '3.7' + + +services: + did_resolver: + build: + dockerfile: docker/Dockerfile + context: ../ + configs: + - source: config + target: /root/config.yml + expose: + - ${RESOLVER_PORT} + ports: + - "${RESOLVER_PORT}:${RESOLVER_PORT}" + profiles: + - resolver + + redirect: + image: morbz/docker-web-redirect + restart: always + ports: + - "${REDIRECTED_PORT}:${REDIRECTED_PORT}" + environment: + - VIRTUAL_HOST={LOCAL_REDIRECT_FROM} + - REDIRECT_TARGET=${EXTERNAL_REDIRECT_TO} + profiles: + - driver + +configs: + config: + file: ../config.yml \ No newline at end of file