# Containerised build environment for Cloudron packaging FROM node:20-bullseye ARG CLOUDRON_CLI_VERSION=latest ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update \ && apt-get install --yes --no-install-recommends \ ca-certificates \ curl \ git \ jq \ python3 \ python3-pip \ rsync \ sudo \ tini \ unzip \ wget \ docker.io \ && rm -rf /var/lib/apt/lists/* RUN npm install --global "cloudron@${CLOUDRON_CLI_VERSION}" # Create non-root user that matches Cloudron packaging expectations RUN useradd --create-home --shell /bin/bash packager \ && echo 'packager ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/packager USER packager WORKDIR /workspace ENTRYPOINT ["tini", "--"] CMD ["bash"]