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/ \;
