FROM debian:latest ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update && \ apt-get install -y --no-install-recommends \ wget git python3 python3-pip unzip tar curl build-essential \ vim nano htop net-tools iputils-ping ca-certificates \ software-properties-common \ openssh-client \ lsof \ strace \ tcpdump \ jq \ zip \ gzip \ bzip2 \ python3-venv \ golang \ ruby \ default-jdk \ nodejs \ npm \ bubblewrap && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* RUN npm install -g npm@latest RUN npm install -g gritty@8.1.2 ENV HOME=/home/admin \ PATH=/home/admin/.local/bin:$PATH WORKDIR $HOME/app RUN useradd -m admin && \ echo "admin:admin" | chpasswd && \ usermod -aG sudo admin RUN echo '#!/bin/bash\n\ echo "===================================="\n\ echo "Starting isolated environment with bubblewrap"\n\ echo "===================================="\n\ # go to bubblewrap \n\ exec bwrap --bind / / --bind /tmp /tmp --dev /dev --proc /proc --ro-bind /usr /usr --ro-bind /lib /lib --ro-bind /lib64 /lib64 --new-session /bin/bash' > $HOME/startup.sh && \ chmod +x $HOME/startup.sh EXPOSE 7860 USER admin CMD ["gritty", "--port", "7860", "--command", "/home/admin/startup.sh", "--auto-restart"]