feat: lamassu initial dockerize approach

feat: improve dockerization

feat: finished initial versions of dockerfiles

fix: small fixes to image building
This commit is contained in:
Sérgio Salgado 2022-03-17 16:04:34 +00:00
parent b0860cdea5
commit bd82285ecf
14 changed files with 484 additions and 20 deletions

View file

@ -0,0 +1,72 @@
FROM ubuntu:20.04 as base
ARG DEBIAN_FRONTEND=noninteractive
ENV TZ=Europe/Lisbon
RUN apt-get update
RUN apt-get install -y -q curl \
sudo \
git \
python2-minimal \
build-essential \
libpq-dev \
net-tools
RUN curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
RUN apt-get install nodejs -y -q
FROM base as build-l-a-s
WORKDIR /app
COPY bin/ packages/lamassu-admin-server/bin
COPY lib/ packages/lamassu-admin-server/lib
COPY data/ packages/lamassu-admin-server/data
COPY tools/ packages/lamassu-admin-server/tools
COPY package.json packages/lamassu-admin-server/package.json
COPY Lamassu_CA.pem packages/lamassu-admin-server/Lamassu_CA.pem
WORKDIR /app/packages/lamassu-admin-server
RUN npm install
FROM node:14 as build-admin
WORKDIR /app
COPY new-lamassu-admin/ packages/lamassu-admin
WORKDIR /app/packages/lamassu-admin
RUN npm install
RUN npm run build
FROM ubuntu:20.04 as production-l-a-s
ARG DEBIAN_FRONTEND=noninteractive
ENV TZ=Europe/Lisbon
RUN apt-get update
RUN apt-get install -y -q curl \
sudo \
git \
python2-minimal \
build-essential \
libpq-dev \
net-tools
RUN curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
RUN apt-get install nodejs -y -q
COPY --from=build-l-a-s /app/packages/lamassu-admin-server /app/packages/lamassu-admin-server
COPY --from=build-admin /app/packages/lamassu-admin/build /app/packages/lamassu-admin-server/public
WORKDIR /app/packages/lamassu-admin-server
EXPOSE 443
ENTRYPOINT [ "node" ]
CMD [ "bin/lamassu-admin-server" ]

View file

@ -0,0 +1,32 @@
FROM node:14 as build-admin
WORKDIR /app
# COPY new-lamassu-admin/src packages/lamassu-admin/src
# COPY new-lamassu-admin/patches packages/lamassu-admin/patches
# COPY new-lamassu-admin/public packages/lamassu-admin/public
# COPY new-lamassu-admin/nginx packages/lamassu-admin/nginx
# COPY new-lamassu-admin/.env packages/lamassu-admin/.env
# COPY new-lamassu-admin/.eslintrc.js packages/lamassu-admin/.eslintrc.js
# COPY new-lamassu-admin/jsconfig.json packages/lamassu-admin/jsconfig.json
# COPY new-lamassu-admin/package.json packages/lamassu-admin/package.json
COPY new-lamassu-admin packages/lamassu-admin
WORKDIR /app/packages/lamassu-admin
# RUN npm install
RUN npm run build
FROM nginx:1.21.4-alpine as production-admin
ENV NODE_ENV=production
COPY --from=build-admin /app/packages/lamassu-admin/build /usr/share/nginx/html/
RUN rm /etc/nginx/conf.d/default.conf
COPY --from=build-admin /app/packages/lamassu-admin/nginx/nginx.conf /etc/nginx/conf.d
EXPOSE 80
CMD [ "nginx", "-g", "daemon off;" ]

View file

@ -0,0 +1,61 @@
FROM ubuntu:20.04 as base
ARG DEBIAN_FRONTEND=noninteractive
ENV TZ=Europe/Lisbon
RUN apt-get update
RUN apt-get install -y -q curl \
sudo \
git \
python2-minimal \
build-essential \
libpq-dev \
net-tools
RUN curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
RUN apt-get install nodejs -y -q
FROM base as build-l-s
WORKDIR /app
COPY bin/ packages/lamassu-server/bin
COPY lib/ packages/lamassu-server/lib
COPY tools/ packages/lamassu-server/tools
COPY migrations/ packages/lamassu-server/migrations
COPY package.json packages/lamassu-server/package.json
COPY Lamassu_CA.pem packages/lamassu-server/Lamassu_CA.pem
WORKDIR /app/packages/lamassu-server
RUN chmod +x tools/build-docker-certs.sh
RUN chmod +x bin/lamassu-server-entrypoint.sh
RUN npm install
FROM ubuntu:20.04 as production-l-s
ARG DEBIAN_FRONTEND=noninteractive
ENV TZ=Europe/Lisbon
RUN apt-get update
RUN apt-get install -y -q curl \
sudo \
git \
python2-minimal \
build-essential \
libpq-dev \
net-tools
RUN curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
RUN apt-get install nodejs -y -q
COPY --from=build-l-s /app/packages/lamassu-server /app/packages/lamassu-server
WORKDIR /app/packages/lamassu-server
EXPOSE 3000
ENTRYPOINT [ "/app/packages/lamassu-server/bin/lamassu-server-entrypoint.sh" ]