# # Chromium Dockerfile # # https://git.mmbradley.ca/MichaelBradley/docker-chromium # # Build the membarrier check tool. FROM alpine:3.14 AS membarrier WORKDIR /tmp COPY membarrier_check.c . RUN apk --no-cache add build-base linux-headers RUN gcc -static -o membarrier_check membarrier_check.c RUN strip membarrier_check # Pull base image. FROM jlesage/baseimage-gui:alpine-3.21-v4.7.1 # Docker image version is provided via build arg. ARG DOCKER_IMAGE_VERSION=v0.1.0 # Define software versions. ARG CHROMIUM_VERSION=136.0.7103.113-r0 # Define working directory. WORKDIR /tmp # Install Chromium. RUN \ # add-pkg --repository http://dl-cdn.alpinelinux.org/alpine/edge/main \ # --repository http://dl-cdn.alpinelinux.org/alpine/edge/community \ # --upgrade chromium=${CHROMIUM_VERSION} add-pkg chromium=${CHROMIUM_VERSION} # Install extra packages. RUN \ add-pkg \ # WebGL support. mesa-dri-gallium \ # Audio support. libpulse \ # Icons used by folder/file selection window (when saving as). adwaita-icon-theme \ # A font is needed. font-dejavu \ # The following package is used to send key presses to the X process. xdotool # Add files. COPY rootfs/ / COPY --from=membarrier /tmp/membarrier_check /usr/bin/ # Set internal environment variables. RUN \ set-cont-env APP_NAME "Chromium" && \ set-cont-env APP_VERSION "$CHROMIUM_VERSION" && \ set-cont-env DOCKER_IMAGE_VERSION "$DOCKER_IMAGE_VERSION" && \ true # Metadata. LABEL \ org.label-schema.name="chromium" \ org.label-schema.description="Docker container for Chromium" \ org.label-schema.version="${DOCKER_IMAGE_VERSION:-unknown}" \ org.label-schema.vcs-url="https://git.mmbradley.ca/MichaelBradley/docker-chromium" \ org.label-schema.schema-version="1.0"