1a6b4b0a97
Replaces docker-ce-cli (requiring external Docker apt repo) with docker.io from Ubuntu 24.04 main, which is sufficient for docker login and working alongside buildx. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
36 lines
1.4 KiB
Docker
36 lines
1.4 KiB
Docker
# Runner base image for Forgejo act_runner job containers.
|
|
# Pre-installs Python 3.12 and Node 20 so the test job skips the
|
|
# ~3-4 minute deadsnakes PPA install on every run.
|
|
#
|
|
# Build and push (one-time setup, re-run if this file changes):
|
|
# docker build -f infra/Dockerfile.runner-base \
|
|
# -t git.fabledsword.com/bvandeusen/runner-base:py3.12-node22 .
|
|
# docker push git.fabledsword.com/bvandeusen/runner-base:py3.12-node22
|
|
#
|
|
# Then redeploy the act_runner stack in Portainer to pick up the new label.
|
|
|
|
FROM ubuntu:24.04
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
# Split into separate RUN steps so each pushed layer is smaller.
|
|
# One combined layer would be ~280MB and exceeds the nginx upload timeout.
|
|
|
|
# Python 3.12 ships in Ubuntu 24.04 main repos — no PPA needed.
|
|
RUN apt-get update -qq && \
|
|
apt-get install -y -qq \
|
|
python3.12 python3.12-dev python3.12-venv python3-pip \
|
|
git curl ca-certificates gnupg && \
|
|
apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
|
|
# Node 22 LTS via NodeSource
|
|
RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - && \
|
|
apt-get install -y -qq nodejs && \
|
|
apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
|
|
# Docker CLI — daemon comes from the host socket mount, only CLI needed.
|
|
# docker.io from Ubuntu repos is sufficient for docker login + buildx.
|
|
RUN apt-get update -qq && \
|
|
apt-get install -y -qq docker.io && \
|
|
apt-get clean && rm -rf /var/lib/apt/lists/*
|