FROM debian:trixie-slim ENV GODOT_VERSION=4.6 RUN apt update && apt install -y openjdk-21-jdk git wget unzip curl \ libgles2 libgles2-mesa-dev # Download and extract Godot RUN wget https://github.com/godotengine/godot/releases/download/${GODOT_VERSION}-stable/Godot_v${GODOT_VERSION}-stable_linux.x86_64.zip && \ unzip Godot_v${GODOT_VERSION}-stable_linux*.zip && \ mv Godot_v${GODOT_VERSION}-stable_linux*64 /usr/local/bin/godot # Download and extract export templates like HTML 5 RUN wget https://github.com/godotengine/godot/releases/download/${GODOT_VERSION}-stable/Godot_v${GODOT_VERSION}-stable_export_templates.tpz && \ unzip Godot_v${GODOT_VERSION}-stable_export_templates.tpz && \ mkdir -p ~/.local/share/godot/export_templates/${GODOT_VERSION}.stable && \ mv templates/* ~/.local/share/godot/export_templates/${GODOT_VERSION}.stable # Install Android SDK command-line tools # ARG ANDROID_CMDLINE_TOOLS_VERSION=11076708 ARG ANDROID_BUILD_TOOLS_VERSION=34.0.0 ARG ANDROID_SDK_URL="https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip" RUN mkdir -p /usr/local/android-sdk/cmdline-tools && \ cd /tmp && \ curl -fsSL "$ANDROID_SDK_URL" -o cmdline-tools.zip && \ unzip -q cmdline-tools.zip -d /usr/local/android-sdk/cmdline-tools && \ mv /usr/local/android-sdk/cmdline-tools/cmdline-tools /usr/local/android-sdk/cmdline-tools/latest && \ rm cmdline-tools.zip # Set Android SDK paths and environment ENV JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64 ENV ANDROID_HOME=/usr/local/android-sdk ENV ANDROID_COMMAND_LINE_TOOL=/usr/local/android-sdk/cmdline-tools/latest/bin ENV PATH=${ANDROID_HOME}/cmdline-tools/latest/bin:${ANDROID_HOME}/platform-tools:${PATH} # Accept licenses and install required SDK packages RUN mkdir -p $ANDROID_HOME/.android && \ touch $ANDROID_HOME/.android/repositories.cfg && \ yes | ${ANDROID_COMMAND_LINE_TOOL}/sdkmanager --licenses 2>/dev/null || true && \ ${ANDROID_COMMAND_LINE_TOOL}/sdkmanager \ "platforms;android-34" \ "build-tools;33.0.1" \ "platform-tools" \ 2>&1 | tee /dev/null # Grant execute permission to gradlew RUN chmod +x /workspaces/*/gradlew 2>/dev/null || true