FROM library/python:3.12-bullseye # Personal access token 'mist _runner' ENV GITHUB_PAT=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 ENV TERRAFORM_VERSION=1.6.6 ARG USER=vscode ARG DEBIAN_FRONTEND=noninteractive # Install system dependencies in a single layer RUN apt update && apt install -y --no-install-recommends \ sudo jq vim curl\ && apt autoremove -y \ && rm -rf /var/lib/apt/lists/* # Create the user and grant sudo privileges RUN useradd -m -s /bin/bash ${USER} \ && echo "${USER} ALL=(ALL) NOPASSWD: ALL" >/etc/sudoers.d/${USER} \ && chmod 0440 /etc/sudoers.d/${USER} # Install Poetry RUN pip install --no-cache-dir poetry # Install Node.js 22 (from NodeSource) RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \ && apt install -y nodejs \ && node -v \ && npm -v # Install Atlas CLI RUN curl -sSf https://atlasgo.sh | sh # Install aws RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" RUN unzip awscliv2.zip RUN ./aws/install # Install terraform RUN apt-get update && sudo apt-get install -y gnupg software-properties-common RUN wget https://releases.hashicorp.com/terraform/${TERRAFORM_VERSION}/terraform_${TERRAFORM_VERSION}_linux_amd64.zip \ && unzip terraform_${TERRAFORM_VERSION}_linux_amd64.zip \ && mv terraform /usr/local/bin/terraform \ && rm terraform_${TERRAFORM_VERSION}_linux_amd64.zip RUN terraform version # Install stripe RUN curl -s https://packages.stripe.dev/api/security/keypair/stripe-cli-gpg/public | gpg --dearmor | sudo tee /usr/share/keyrings/stripe.gpg RUN echo "deb [signed-by=/usr/share/keyrings/stripe.gpg] https://packages.stripe.dev/stripe-cli-debian-local stable main" | sudo tee -a /etc/apt/sources.list.d/stripe.list RUN sudo apt update RUN sudo apt install stripe # Install code server RUN curl -fsSL https://code-server.dev/install.sh | sh # Set the working directory WORKDIR /workspaces/monorepo