tileserver-gl/Dockerfile_light
Miko 6ef12fba6c
Use npm packages for public/resources (#1427)
* refactor dockerfile

* add build dockerfile

* use node_module files instead of local mirrors

* add copyfiles to global scope

* add leaflet-hash

* re-add pipefail

* refactor dockerfile

* add build dockerfile

* use node_module files instead of local mirrors

* add copyfiles to global scope

* add leaflet-hash

* re-add pipefail

* set automerge target to minor

* fix invalid node version

* refactor light dockerfile

---------

Co-authored-by: Miko <miko@local.host>
Co-authored-by: Miko <miko@none>
Co-authored-by: Andrew Calcutt <acalcutt@techidiots.net>
2025-02-08 22:09:25 -05:00

50 lines
1.5 KiB
Text

FROM ubuntu:jammy
ENV \
NODE_ENV="production" \
CHOKIDAR_USEPOLLING=1 \
CHOKIDAR_INTERVAL=500
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN export DEBIAN_FRONTEND=noninteractive && \
groupadd -r node && \
useradd -r -g node node && \
apt-get -qq update && \
apt-get install -y --no-install-recommends --no-install-suggests \
ca-certificates \
curl \
gnupg && \
mkdir -p /etc/apt/keyrings && \
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && \
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list && \
apt-get -qq update && \
apt-get install -y --no-install-recommends --no-install-suggests nodejs && \
npm i -g npm@latest && \
apt-get -y remove curl gnupg && \
apt-get -y --purge autoremove && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
WORKDIR /usr/src/app
COPY . .
RUN npm config set maxsockets 1 && \
npm config set fetch-retries 5 && \
npm config set fetch-retry-mintimeout 100000 && \
npm config set fetch-retry-maxtimeout 600000 && \
npm install --omit=dev && \
chown -R root:root . && \
chmod +x ./docker-entrypoint.sh
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