docker-chromium/Dockerfile

61 lines
1.8 KiB
Docker

#
# Google Chrome Dockerfile
#
# https://git.mmbradley.ca/MichaelBradley/docker-chromium/src/branch/google-chrome
#
# 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 working directory.
WORKDIR /tmp
# 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
# Install Google Chrome through flatpak
RUN \
add-pkg flatpak && \
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo && \
flatpak install -y flathub com.google.Chrome
# Add files.
COPY rootfs/ /
COPY --from=membarrier /tmp/membarrier_check /usr/bin/
# Set internal environment variables.
RUN \
set-cont-env APP_NAME "Google Chrome" && \
set-cont-env APP_VERSION "latest" && \
set-cont-env DOCKER_IMAGE_VERSION "$DOCKER_IMAGE_VERSION" && \
true
# Metadata.
LABEL \
org.label-schema.name="google chrome" \
org.label-schema.description="Docker container for Google Chrome" \
org.label-schema.version="${DOCKER_IMAGE_VERSION:-unknown}" \
org.label-schema.vcs-url="https://git.mmbradley.ca/MichaelBradley/docker-chromium/src/branch/google-chrome" \
org.label-schema.schema-version="1.0"