mirror of
https://github.com/woodchen-ink/docker-firefox.git
synced 2025-07-17 21:32:00 +08:00
103 lines
2.9 KiB
Docker
103 lines
2.9 KiB
Docker
#
|
|
# firefox Dockerfile
|
|
#
|
|
# https://github.com/jlesage/docker-firefox
|
|
#
|
|
|
|
# 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=
|
|
|
|
# Define software versions.
|
|
ARG FIREFOX_VERSION=136.0.4-r0
|
|
#ARG PROFILE_CLEANER_VERSION=2.36
|
|
|
|
# Define software download URLs.
|
|
#ARG PROFILE_CLEANER_URL=https://github.com/graysky2/profile-cleaner/raw/v${PROFILE_CLEANER_VERSION}/common/profile-cleaner.in
|
|
|
|
# Define working directory.
|
|
WORKDIR /tmp
|
|
|
|
# Install Firefox.
|
|
RUN \
|
|
# add-pkg --repository http://dl-cdn.alpinelinux.org/alpine/edge/main \
|
|
# --repository http://dl-cdn.alpinelinux.org/alpine/edge/community \
|
|
# --upgrade firefox=${FIREFOX_VERSION}
|
|
add-pkg firefox=${FIREFOX_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 \
|
|
&& \
|
|
# Remove unneeded icons.
|
|
find /usr/share/icons/Adwaita -type d -mindepth 1 -maxdepth 1 -not -name 16x16 -not -name scalable -exec rm -rf {} ';' && \
|
|
true
|
|
|
|
# Install profile-cleaner.
|
|
#RUN \
|
|
# add-pkg --virtual build-dependencies curl && \
|
|
# curl -# -L -o /usr/bin/profile-cleaner {$PROFILE_CLEANER_URL} && \
|
|
# sed-patch 's/@VERSION@/'${PROFILE_CLEANER_VERSION}'/' /usr/bin/profile-cleaner && \
|
|
# chmod +x /usr/bin/profile-cleaner && \
|
|
# add-pkg \
|
|
# bash \
|
|
# file \
|
|
# coreutils \
|
|
# bc \
|
|
# parallel \
|
|
# sqlite \
|
|
# && \
|
|
# # Cleanup.
|
|
# del-pkg build-dependencies && \
|
|
# rm -rf /tmp/* /tmp/.[!.]*
|
|
|
|
# Generate and install favicons.
|
|
RUN \
|
|
APP_ICON_URL=https://github.com/jlesage/docker-templates/raw/master/jlesage/images/firefox-icon.png && \
|
|
install_app_icon.sh "$APP_ICON_URL"
|
|
|
|
# Add files.
|
|
COPY rootfs/ /
|
|
COPY --from=membarrier /tmp/membarrier_check /usr/bin/
|
|
|
|
# Set internal environment variables.
|
|
RUN \
|
|
set-cont-env APP_NAME "Firefox" && \
|
|
set-cont-env APP_VERSION "$FIREFOX_VERSION" && \
|
|
set-cont-env DOCKER_IMAGE_VERSION "$DOCKER_IMAGE_VERSION" && \
|
|
true
|
|
|
|
# Set public environment variables.
|
|
ENV \
|
|
FF_OPEN_URL= \
|
|
FF_KIOSK=0 \
|
|
FF_CUSTOM_ARGS=
|
|
|
|
# Metadata.
|
|
LABEL \
|
|
org.label-schema.name="firefox" \
|
|
org.label-schema.description="Docker container for Firefox" \
|
|
org.label-schema.version="${DOCKER_IMAGE_VERSION:-unknown}" \
|
|
org.label-schema.vcs-url="https://github.com/jlesage/docker-firefox" \
|
|
org.label-schema.schema-version="1.0"
|