FROM node:21 WORKDIR /app RUN apt-get update && apt-get install -y \ sudo \ software-properties-common \ git \ curl \ wget \ gnupg \ lsb-release \ build-essential \ python3 python3-pip python3-venv \ php php-cli \ ruby-full \ openjdk-17-jdk \ golang \ rustc cargo \ clang \ gcc g++ \ mono-complete && \ curl -sSL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg && \ echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-jammy-prod jammy main" > /etc/apt/sources.list.d/microsoft.list && \ apt-get update && apt-get install -y dotnet-sdk-7.0 && \ git clone https://github.com/Exocore-Organization/exocore-web.git RUN usermod -aG sudo node && echo "node ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \ chown -R node:node exocore-web && chmod -R u+rwX exocore-web USER node WORKDIR /app/exocore-web RUN npm install EXPOSE 7860 CMD ["npm", "start"]