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:
parent
b0860cdea5
commit
bd82285ecf
14 changed files with 484 additions and 20 deletions
72
Dockerfiles/admin-server.Dockerfile
Normal file
72
Dockerfiles/admin-server.Dockerfile
Normal 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" ]
|
||||
32
Dockerfiles/admin.Dockerfile
Normal file
32
Dockerfiles/admin.Dockerfile
Normal 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;" ]
|
||||
61
Dockerfiles/server.Dockerfile
Normal file
61
Dockerfiles/server.Dockerfile
Normal 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" ]
|
||||
Loading…
Add table
Add a link
Reference in a new issue