FROM docker.io/alpine:3.21 AS builder RUN apk --no-cache add \ curl ENV GODOT_VERSION=4.3 ENV GODOT_TEMPLATES_HASH=f5f10dbaf56a7908349e64b94ea8c2c93c2cc11fb1014c9565b68a2bb437b922 ENV GODOT_HASH_x86_64=7de56444b130b10af84d19c7e0cf63cf9e9937ee4ba94364c3b7dd114253ca21 ENV GODOT_HASH_aarch64=baaf0b753b86ef52e10c11cc7f65c0bc4696ec793ee052ea88360b31ef5462a2 RUN curl -L -O https://github.com/godotengine/godot/releases/download/$GODOT_VERSION-stable/Godot_v$GODOT_VERSION-stable_export_templates.tpz RUN eval "echo \"\${GODOT_TEMPLATES_HASH} Godot_v$GODOT_VERSION-stable_export_templates.tpz\" | sha256sum -c -" || exit 1 RUN mkdir -p /export_templates/$GODOT_VERSION.stable RUN unzip -j Godot_v$GODOT_VERSION-stable_export_templates.tpz -d /export_templates/$GODOT_VERSION.stable/ RUN ARCH=$(arch); if [ "$ARCH" = "aarch64" ]; then ARCH="arm64"; fi; \ curl -L -o /godot.zip https://github.com/godotengine/godot/releases/download/$GODOT_VERSION-stable/Godot_v$GODOT_VERSION-stable_linux.$ARCH.zip RUN eval "echo \"\${GODOT_HASH_$(arch)} godot.zip\" | sha256sum -c -" || exit 1 RUN unzip godot.zip -d /src RUN mv /src/Godot_v$GODOT_VERSION-stable_linux.* /src/godot FROM docker.io/debian:bookworm-slim RUN apt-get update \ && apt-get install -y \ libfontconfig1 COPY --from=builder /src/godot /bin/godot COPY --from=builder /export_templates/ /root/.local/share/godot/export_templates/ ENTRYPOINT ["godot", "--headless", "--path", "/src", "--export-release"]