65 lines
1.8 KiB
Docker
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"
|