github.com/resonatecoop/id@v1.1.0-43/Dockerfile (about)

     1  ARG RELEASE_TAG=develop 
     2  ARG API_DOMAIN=api.resonate.coop
     3  ARG APP_HOST=https://stream.resonate.coop
     4  ARG STATIC_HOSTNAME=dash.resonate.coop
     5  ARG API_BASE=/api/v3
     6  ARG NODE_ENV=development
     7  ARG BUILD_ENV=production
     8  
     9  # Frontend build stage
    10  FROM node:18-alpine as builder
    11  
    12  ARG RELEASE_TAG
    13  ARG NODE_ENV
    14  ARG BUILD_ENV
    15  ARG API_DOMAIN
    16  ARG API_BASE
    17  ARG APP_HOST
    18  ARG STATIC_HOSTNAME
    19  
    20  ENV API_DOMAIN $API_DOMAIN
    21  ENV NODE_ENV $NODE_ENV
    22  ENV API_BASE $API_BASE
    23  ENV APP_HOST $APP_HOST
    24  ENV STATIC_HOSTNAME $STATIC_HOSTNAME
    25  
    26  WORKDIR /build
    27  
    28  RUN apk --no-cache add git
    29  
    30  RUN cd /build && git clone --branch ${RELEASE_TAG} --single-branch --depth 1 https://github.com/resonatecoop/id
    31  
    32  RUN cd /build/id/frontend && npm install && npm install -g gulp
    33  
    34  ENV NODE_ENV $BUILD_ENV
    35  
    36  RUN cd /build/id/frontend && npm run build
    37  
    38  # Backend build stage
    39  FROM golang:latest
    40  
    41  ARG RELEASE_TAG
    42  
    43  RUN mkdir /build
    44  
    45  WORKDIR /build
    46  
    47  RUN export GO111MODULE=on
    48  RUN apt-get -y update
    49  RUN cd /build && git clone --branch ${RELEASE_TAG} --single-branch --depth 1 https://github.com/resonatecoop/id
    50  
    51  RUN cd id && go build
    52  
    53  EXPOSE 11000
    54  
    55  WORKDIR /build/id
    56  
    57  COPY --from=builder /build/id/data /build/id/data/
    58  COPY --from=builder /build/id/public /build/id/public/
    59  
    60  ENTRYPOINT ["sh", "docker-entrypoint.sh"]