3
0
corteza/server/Dockerfile.snapshot
2022-11-26 12:19:01 +01:00

53 lines
1.1 KiB
Docker

# bundle web-console
FROM node:16.14-alpine as webconsole-build-stage
WORKDIR /webconsole
COPY ./webconsole ./
# Snapshot is built in development mode and with source map
RUN yarn install && yarn build --mode dev --sourcemap
# build server
FROM golang:1.19-buster as server-build-stage
ENV BUILD_OS=linux
ENV BUILD_ARCH=amd64
ENV BUILD_VERSION=latest
WORKDIR /corteza
COPY . ./
COPY --from=webconsole-build-stage /webconsole/dist ./webconsole/dist
RUN make release-clean release
# deploy stage
FROM ubuntu:20.04
RUN apt-get -y update \
&& apt-get -y install \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
ENV STORAGE_PATH "/data"
ENV CORREDOR_ADDR "corredor:80"
ENV HTTP_ADDR "0.0.0.0:80"
ENV HTTP_WEBAPP_ENABLED "false"
ENV PATH "/corteza/bin:${PATH}"
WORKDIR /corteza
VOLUME /data
COPY --from=server-build-stage /corteza/build/pkg/corteza-server ./
HEALTHCHECK --interval=30s --start-period=1m --timeout=30s --retries=3 \
CMD curl --silent --fail --fail-early http://127.0.0.1:80/healthcheck || exit 1
EXPOSE 80
ENTRYPOINT ["./bin/corteza-server"]
CMD ["serve-api"]