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