FROM docker.io/gitea/act_runner:latest # Switch to root to install packages USER root # Update Alpine packages and install prerequisites RUN apk update && apk add --no-cache \ wget \ curl \ bash \ icu-libs \ ca-certificates \ && rm -rf /var/cache/apk/* # Add Microsoft package repository and install .NET SDK # Microsoft doesn’t publish Alpine .NET SDK packages in apt repos, # so you need to install the official tarball instead RUN wget https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.305/dotnet-sdk-9.0.305-linux-musl-x64.tar.gz \ -O dotnet-sdk.tar.gz \ && mkdir -p /usr/share/dotnet \ && tar -zxf dotnet-sdk.tar.gz -C /usr/share/dotnet \ && rm dotnet-sdk.tar.gz # Set environment variables for .NET before verifying installation ENV DOTNET_ROOT=/usr/share/dotnet ENV PATH=$PATH:/usr/share/dotnet # Verify .NET installation RUN dotnet --version # Switch back to the original user (if act_runner has a specific user) # Check what user the base image uses RUN id # Keep the original entrypoint from act_runner # The base image will handle the act_runner functionality # Switch back to the original user USER runner