mirror of
https://github.com/yldio/copilot.git
synced 2024-11-15 07:40:07 +02:00
52 lines
1.7 KiB
Docker
52 lines
1.7 KiB
Docker
|
FROM node:8-alpine
|
||
|
|
||
|
# Built in context of root folder in repo
|
||
|
|
||
|
# Install dependencies
|
||
|
RUN set -x \
|
||
|
&& apk update \
|
||
|
&& apk add --update curl bash build-base git nginx python \
|
||
|
&& apk upgrade \
|
||
|
&& rm -rf /var/cache/apk/*
|
||
|
|
||
|
# Install Consul agent
|
||
|
ENV CONSUL_VERSION 0.7.0
|
||
|
ENV CONSUL_CHECKSUM b350591af10d7d23514ebaa0565638539900cdb3aaa048f077217c4c46653dd8
|
||
|
RUN curl --retry 7 --fail -vo /tmp/consul.zip "https://releases.hashicorp.com/consul/${CONSUL_VERSION}/consul_${CONSUL_VERSION}_linux_amd64.zip" \
|
||
|
&& echo "${CONSUL_CHECKSUM} /tmp/consul.zip" | sha256sum -c \
|
||
|
&& unzip /tmp/consul -d /usr/local/bin \
|
||
|
&& rm /tmp/consul.zip \
|
||
|
&& mkdir /config
|
||
|
|
||
|
# Install ContainerPilot
|
||
|
ENV CP_SHA1 d06e289e6e0ca82156d77cea36ff0f0246fcca60
|
||
|
ENV CONTAINERPILOT_VERSION 3.1.0
|
||
|
RUN curl -Lo /tmp/containerpilot.tar.gz "https://github.com/joyent/containerpilot/releases/download/${CONTAINERPILOT_VERSION}/containerpilot-${CONTAINERPILOT_VERSION}.tar.gz" \
|
||
|
&& echo "${CP_SHA1} /tmp/containerpilot.tar.gz" | sha1sum -c \
|
||
|
&& tar zxf /tmp/containerpilot.tar.gz -C /bin \
|
||
|
&& rm /tmp/containerpilot.tar.gz
|
||
|
|
||
|
# Copy required files
|
||
|
RUN mkdir -p /opt/app/
|
||
|
COPY ./ /opt/app/
|
||
|
COPY ./docker/frontend/bin /bin
|
||
|
COPY ./docker/frontend/etc/nginx.conf.tmpl /etc/nginx/nginx.conf.tmpl
|
||
|
COPY ./docker/frontend/etc/containerpilot.json5 /etc/containerpilot.json5
|
||
|
ENV CONTAINERPILOT /etc/containerpilot.json5
|
||
|
|
||
|
WORKDIR /opt/app/
|
||
|
|
||
|
ENV BUILD=production
|
||
|
ENV NODE_ENV=production
|
||
|
|
||
|
RUN npm install -g yarn
|
||
|
RUN yarn add lerna
|
||
|
|
||
|
RUN ./node_modules/.bin/lerna clean --yes --scope joyent-cp-frontend --include-filtered-dependencies \
|
||
|
&& ./node_modules/.bin/lerna bootstrap --scope joyent-cp-frontend --include-filtered-dependencies
|
||
|
|
||
|
WORKDIR /opt/app/packages/cp-frontend
|
||
|
RUN yarn build
|
||
|
|
||
|
CMD ["/bin/containerpilot"]
|