34 lines
860 B
Docker
34 lines
860 B
Docker
ARG NODE_VERSION=24
|
|
ARG UBUNTU_VERSION=24.04
|
|
|
|
FROM node:${NODE_VERSION}-bookworm-slim AS web
|
|
WORKDIR /web
|
|
COPY web/package.json web/package-lock.json ./
|
|
RUN npm ci
|
|
COPY web/ ./
|
|
RUN npm run build
|
|
|
|
FROM ubuntu:${UBUNTU_VERSION}
|
|
ARG HOST_UID
|
|
ARG HOST_GID
|
|
|
|
RUN apt-get update \
|
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
|
build-essential \
|
|
dpkg-dev \
|
|
debhelper \
|
|
lintian \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /build
|
|
COPY debian-package/ src/
|
|
COPY docs/ src/docs/
|
|
COPY --from=web /web/dist src/web/dist/
|
|
RUN cd src && dpkg-buildpackage -us -uc -b
|
|
|
|
RUN lintian --no-tag-display-limit /build/*.changes || true
|
|
|
|
RUN mkdir /out \
|
|
&& find /build -maxdepth 1 \( -name '*.deb' -o -name '*.buildinfo' -o -name '*.changes' \) \
|
|
-exec install -o "$HOST_UID" -g "$HOST_GID" -m 0644 {} /out/ \;
|