docker-chromium/Dockerfile

65 lines
1.8 KiB
Docker

#
# 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"