35 lines
784 B
Docker
35 lines
784 B
Docker
# 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"]
|