mirror of
https://github.com/linuxserver/docker-firefox.git
synced 2026-03-09 00:03:36 +08:00
57 lines
2.3 KiB
Docker
57 lines
2.3 KiB
Docker
FROM ghcr.io/linuxserver/baseimage-kasmvnc:alpine320
|
|
|
|
# set version label
|
|
ARG BUILD_DATE
|
|
ARG VERSION
|
|
ARG FIREFOX_VERSION
|
|
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
|
LABEL maintainer="thelamer"
|
|
|
|
# title
|
|
ENV TITLE=Firefox
|
|
|
|
RUN \
|
|
echo "**** add icon ****" && \
|
|
curl -o \
|
|
/kclient/public/icon.png \
|
|
https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/firefox-logo.png && \
|
|
echo "**** install packages ****" && \
|
|
if [ -z ${FIREFOX_VERSION+x} ]; then \
|
|
FIREFOX_VERSION=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/v3.20/community/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \
|
|
&& awk '/^P:firefox$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://'); \
|
|
fi && \
|
|
apk add --no-cache \
|
|
firefox==${FIREFOX_VERSION} && \
|
|
echo "**** lang support ****" && \
|
|
FF_VERSION=$(curl -sI https://download.mozilla.org/?product=firefox-latest | awk -F '(releases/|/win32)' '/Location/ {print $2}') && \
|
|
REL_URL="https://releases.mozilla.org/pub/firefox/releases/${FF_VERSION}/win64/xpi/" && \
|
|
LANGS=$(curl -Ls ${REL_URL} | awk -F '(xpi">|</a>)' '/href.*xpi/ {print $2}' | tr '\n' ' ') && \
|
|
EXT_DIR=/usr/lib/firefox/distribution/extensions/ && \
|
|
mkdir -p ${EXT_DIR} && \
|
|
for LANG in ${LANGS}; do \
|
|
LANGCODE=$(echo ${LANG} | sed 's/\.xpi//g'); \
|
|
echo "Downloading ${LANG} Language pack"; \
|
|
curl -o \
|
|
${EXT_DIR}langpack-${LANGCODE}@firefox.mozilla.org.xpi -Ls \
|
|
${REL_URL}${LANG};\
|
|
done && \
|
|
echo "**** default firefox settings ****" && \
|
|
FIREFOX_SETTING="/usr/lib/firefox/browser/defaults/preferences/firefox.js" && \
|
|
echo 'pref("datareporting.policy.firstRunURL", "");' > ${FIREFOX_SETTING} && \
|
|
echo 'pref("datareporting.policy.dataSubmissionEnabled", false);' >> ${FIREFOX_SETTING} && \
|
|
echo 'pref("datareporting.healthreport.service.enabled", false);' >> ${FIREFOX_SETTING} && \
|
|
echo 'pref("datareporting.healthreport.uploadEnabled", false);' >> ${FIREFOX_SETTING} && \
|
|
echo 'pref("trailhead.firstrun.branches", "nofirstrun-empty");' >> ${FIREFOX_SETTING} && \
|
|
echo 'pref("browser.aboutwelcome.enabled", false);' >> ${FIREFOX_SETTING} && \
|
|
echo "**** cleanup ****" && \
|
|
rm -rf \
|
|
/tmp/*
|
|
|
|
# add local files
|
|
COPY /root /
|
|
|
|
# ports and volumes
|
|
EXPOSE 3000
|
|
|
|
VOLUME /config
|