Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/issue.bug.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ body:
label: CPU architecture
options:
- x86-64
- arm64
validations:
required: true
- type: textarea
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,6 @@ RUN \
COPY /root /

# ports and volumes
EXPOSE 3000
EXPOSE 3001

VOLUME /config
48 changes: 48 additions & 0 deletions Dockerfile.aarch64
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# syntax=docker/dockerfile:1

FROM ghcr.io/linuxserver/baseimage-selkies:arm64v8-debiantrixie

# set version label
ARG BUILD_DATE
ARG VERSION
ARG CHROME_VERSION
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="thelamer"

# title
ENV TITLE=Chrome \
PIXELFLUX_WAYLAND=true

RUN \
echo "**** add icon ****" && \
curl -o \
/usr/share/selkies/www/icon.png \
https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/chrome-logo.png && \
echo "**** setup repo ****" && \
curl -fsSL \
https://dl.google.com/linux/linux_signing_key.pub \
| gpg --dearmor | tee /usr/share/keyrings/google-chrome.gpg >/dev/null && \
echo "deb [arch=arm64 signed-by=/usr/share/keyrings/google-chrome.gpg] http://dl.google.com/linux/chrome/deb/ stable main" >> \
/etc/apt/sources.list.d/google-chrome.list && \
echo "**** install packages ****" && \
if [ -z "${CHROME_VERSION+x}" ]; then \
CHROME_VERSION=$(curl -sX GET http://dl.google.com/linux/chrome/deb/dists/stable/main/binary-arm64/Packages | grep -A 7 -m 1 'Package: google-chrome-stable' | awk -F ': ' '/Version/{print $2;exit}'); \
fi && \
apt-get update && \
apt-get install -y --no-install-recommends \
google-chrome-stable=${CHROME_VERSION} && \
echo "**** cleanup ****" && \
apt-get autoclean && \
rm -rf \
/config/.cache \
/var/lib/apt/lists/* \
/var/tmp/* \
/tmp/*

# add local files
COPY /root /

# ports and volumes
EXPOSE 3001

VOLUME /config
6 changes: 4 additions & 2 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,14 @@ pipeline {
DOCKERHUB_IMAGE = 'linuxserver/chrome'
DEV_DOCKERHUB_IMAGE = 'lsiodev/chrome'
PR_DOCKERHUB_IMAGE = 'lspipepr/chrome'
DIST_IMAGE = 'ubuntu'
MULTIARCH = 'false'
DIST_IMAGE = 'debian'
MULTIARCH = 'true'
CI = 'true'
CI_WEB = 'true'
CI_PORT = '3001'
CI_SSL = 'true'
CI_DELAY = '120'
CI_WEB_SCREENSHOT_DELAY = '30'
CI_DOCKERENV = 'TZ=US/Pacific'
CI_AUTH = 'user:password'
CI_WEBPATH = ''
Expand Down Expand Up @@ -894,6 +895,7 @@ pipeline {
--shm-size=1gb \
-v /var/run/docker.sock:/var/run/docker.sock \
-e IMAGE=\"${IMAGE}\" \
-e WEB_SCREENSHOT_DELAY=\"${CI_WEB_SCREENSHOT_DELAY}\" \
-e DOCKER_LOGS_TIMEOUT=\"${CI_DELAY}\" \
-e TAGS=\"${CI_TAGS}\" \
-e META_TAG=\"${META_TAG}\" \
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ The architectures supported by this image are:
| Architecture | Available | Tag |
| :----: | :----: | ---- |
| x86-64 | ✅ | amd64-\<version tag\> |
| arm64 | ❌ | |
| arm64 | ✅ | arm64v8-\<version tag\> |

## Application Setup

Expand Down Expand Up @@ -646,6 +646,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64

## Versions

* **27.07.26:** - Add aarch64 support.
* **31.03.26:** - Make Wayland default disable with PIXELFLUX_WAYLAND=false.
* **20.12.25:** - Add Wayland init logic.
* **22.09.25:** - Rebase to Debian Trixie.
Expand Down
5 changes: 3 additions & 2 deletions jenkins-vars.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,14 @@ repo_vars:
- DOCKERHUB_IMAGE = 'linuxserver/chrome'
- DEV_DOCKERHUB_IMAGE = 'lsiodev/chrome'
- PR_DOCKERHUB_IMAGE = 'lspipepr/chrome'
- DIST_IMAGE = 'ubuntu'
- MULTIARCH = 'false'
- DIST_IMAGE = 'debian'
- MULTIARCH = 'true'
- CI = 'true'
- CI_WEB = 'true'
- CI_PORT = '3001'
- CI_SSL = 'true'
- CI_DELAY = '120'
- CI_WEB_SCREENSHOT_DELAY = '30'
- CI_DOCKERENV = 'TZ=US/Pacific'
- CI_AUTH = 'user:password'
- CI_WEBPATH = ''
2 changes: 2 additions & 0 deletions readme-vars.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ project_blurb_optional_extras_enabled: false
# supported architectures
available_architectures:
- {arch: "{{ arch_x86_64 }}", tag: "latest"}
- {arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
# development version
development_versions: false
# container parameters
Expand Down Expand Up @@ -110,6 +111,7 @@ init_diagram: |
"chrome:latest" <- Base Images
# changelog
changelogs:
- {date: "27.07.26:", desc: "Add aarch64 support."}
- {date: "31.03.26:", desc: "Make Wayland default disable with PIXELFLUX_WAYLAND=false."}
- {date: "20.12.25:", desc: "Add Wayland init logic."}
- {date: "22.09.25:", desc: "Rebase to Debian Trixie."}
Expand Down
8 changes: 8 additions & 0 deletions root/usr/bin/wrapped-chrome
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,13 @@ if pgrep chrome > /dev/null;then
rm -f $HOME/.config/google-chrome/Singleton*
fi

# Wayland check
if ls -l /dev/dri/* > /dev/null 2>&1; then
if pgrep labwc > /dev/null 2>&1; then
WAYLAND="--ozone-platform=wayland"
fi
fi

${BIN} \
--no-first-run \
--no-sandbox \
Expand All @@ -15,4 +22,5 @@ ${BIN} \
--start-maximized \
--test-type \
--user-data-dir \
${WAYLAND} \
"$@" > /dev/null 2>&1