FROM fedora:43 # Install system dependencies RUN dnf install -y \ dnsmasq \ ipxe-bootimgs-x86 \ ipxe-bootimgs-aarch64 \ curl \ openssh-clients \ && dnf clean all # Install Node.js 22 RUN dnf install -y nodejs npm && dnf clean all RUN npm install -g pnpm@9 # Create app directory WORKDIR /app # Copy package files and install dependencies COPY package.json pnpm-lock.yaml* ./ RUN pnpm install --frozen-lockfile 2>/dev/null || pnpm install # Copy built application COPY dist/ ./dist/ # Create data directories RUN mkdir -p /data/state /data/tftp /data/http ENV BASTION_DIR=/data ENV HTTP_PORT=8080 EXPOSE 8080/tcp EXPOSE 67/udp EXPOSE 69/udp EXPOSE 4011/udp ENTRYPOINT ["node", "dist/cli/index.js", "serve"]