tileserver-gl/Dockerfile
Vinayak Kulkarni e9b59e455c
style: fix lint issues in Dockerfile
Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>
2023-01-09 12:22:05 +05:30

105 lines
2.8 KiB
Docker

FROM ubuntu:focal AS builder
ENV NODE_ENV="production"
RUN set -ex; \
export DEBIAN_FRONTEND=noninteractive; \
apt-get -qq update; \
apt-get -y --no-install-recommends install \
build-essential=12.8ubuntu1 \
ca-certificates=20211016~20.04.1 \
wget=1.20.3-1ubuntu1 \
pkg-config=0.29.1-0ubuntu4 \
xvfb=2:1.20.13-1ubuntu1~20.04.4 \
libglfw3-dev=3.3.2-1 \
libuv1-dev=1.34.2-1ubuntu1.3 \
libjpeg-turbo8=2.0.3-0ubuntu1.20.04.3 \
libicu66=66.1-2ubuntu2.1 \
libcairo2-dev=1.16.0-4ubuntu1 \
libpango1.0-dev=1.44.7-2ubuntu4 \
libjpeg-dev=8c-2ubuntu8 \
libgif-dev=5.1.9-1 \
librsvg2-dev=2.48.2-1 \
gir1.2-rsvg-2.0=2.48.2-1 \
librsvg2-2=2.48.2-1 \
librsvg2-common=2.48.2-1 \
libcurl4-openssl-dev=7.68.0-1ubuntu2.14 \
libpixman-1-dev=0.38.4-0ubuntu1 \
libpixman-1-0=0.38.4-0ubuntu1; \
apt-get -y --purge autoremove; \
apt-get clean; \
rm -rf /var/lib/apt/lists/*;
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN wget -qO- https://deb.nodesource.com/setup_18.x | bash; \
apt-get install -y nodejs; \
npm i -g npm@latest; \
apt-get -y remove wget; \
apt-get -y --purge autoremove; \
apt-get clean; \
rm -rf /var/lib/apt/lists/*;
RUN mkdir -p /usr/src/app
COPY package* /usr/src/app
WORKDIR /usr/src/app
RUN npm install --omit=dev
FROM ubuntu:focal AS final
ENV \
NODE_ENV="production" \
CHOKIDAR_USEPOLLING=1 \
CHOKIDAR_INTERVAL=500
RUN set -ex; \
export DEBIAN_FRONTEND=noninteractive; \
groupadd -r node; \
useradd -r -g node node; \
apt-get -qq update; \
apt-get -y --no-install-recommends install \
ca-certificates=20211016~20.04.1 \
wget=1.20.3-1ubuntu1 \
xvfb=2:1.20.13-1ubuntu1~20.04.4 \
libglfw3=3.3.2-1 \
libuv1=1.34.2-1ubuntu1.3 \
libjpeg-turbo8=2.0.3-0ubuntu1.20.04.3 \
libicu66=66.1-2ubuntu2.1 \
libcairo2=1.16.0-4ubuntu1 \
libgif7=5.1.9-1 \
libopengl0=1.3.2-1~ubuntu0.20.04.2 \
libpixman-1-0=0.38.4-0ubuntu1 \
libcurl4=7.68.0-1ubuntu2.14 \
librsvg2-2=2.48.2-1 \
libpango-1.0-0=1.44.7-2ubuntu4; \
apt-get -y --purge autoremove; \
apt-get clean; \
rm -rf /var/lib/apt/lists/*;
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN wget -qO- https://deb.nodesource.com/setup_18.x | bash; \
apt-get install -y nodejs; \
npm i -g npm@latest; \
apt-get -y remove wget; \
apt-get -y --purge autoremove; \
apt-get clean; \
rm -rf /var/lib/apt/lists/*;
COPY --from=builder /usr/src/app /usr/src/app
COPY . /usr/src/app
RUN mkdir -p /data && chown node:node /data
VOLUME /data
WORKDIR /data
EXPOSE 8080
USER node:node
ENTRYPOINT ["/usr/src/app/docker-entrypoint.sh"]
HEALTHCHECK CMD node /usr/src/app/src/healthcheck.js