# syntax=docker/dockerfile:1 ### FROM ubuntu:22.04 AS dind # https://docs.docker.com/engine/install/ubuntu/ RUN apt-get update && apt-get install -y \ ca-certificates \ curl \ && install -m 0755 -d /etc/apt/keyrings \ && curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc \ && chmod a+r /etc/apt/keyrings/docker.asc \ && echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null RUN apt-get update && apt-get install -y \ docker-ce \ docker-ce-cli \ containerd.io \ docker-buildx-plugin \ docker-compose-plugin \ && rm -rf /var/lib/apt/lists/* \ && apt-get clean \ && apt-get autoremove -y ### FROM dind AS openhands ENV DEBIAN_FRONTEND=noninteractive # RUN apt-get update && apt-get install -y \ bash \ build-essential \ curl \ git \ git-lfs \ software-properties-common \ make \ netcat \ sudo \ wget \ && rm -rf /var/lib/apt/lists/* \ && apt-get clean \ && apt-get autoremove -y # https://github.com/cli/cli/blob/trunk/docs/install_linux.md RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg \ && chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg \ && echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | tee /etc/apt/sources.list.d/github-cli.list > /dev/null \ && apt-get update && apt-get -y install \ gh \ && rm -rf /var/lib/apt/lists/* \ && apt-get clean \ && apt-get autoremove -y # Python 3.12 RUN add-apt-repository ppa:deadsnakes/ppa \ && apt-get update \ && apt-get install -y python3.12 python3.12-venv python3.12-dev python3-pip \ && ln -s /usr/bin/python3.12 /usr/bin/python # NodeJS >= 18.17.1 RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \ && apt-get install -y nodejs # Poetry >= 1.8 RUN curl -fsSL https://install.python-poetry.org | python3.12 - \ && ln -s ~/.local/bin/poetry /usr/local/bin/poetry # RUN <&1 | head -n 1 " > /version.sh chmod a+x /version.sh EOF ### FROM openhands AS dev RUN apt-get update && apt-get install -y \ dnsutils \ file \ iproute2 \ jq \ lsof \ ripgrep \ silversearcher-ag \ vim \ && rm -rf /var/lib/apt/lists/* \ && apt-get clean \ && apt-get autoremove -y WORKDIR /app # cache build dependencies RUN \ --mount=type=bind,source=./,target=/app/ \ <