-
-
Save ipepe/94389528e2263486e53645fa0e65578b to your computer and use it in GitHub Desktop.
#!/bin/bash | |
# from https://chromium.woolyss.com/ | |
# and https://gist.github.com/addyosmani/5336747 | |
# and https://chromium.googlesource.com/chromium/src/+/lkgr/headless/README.md | |
sudo apt-get update | |
sudo apt-get install software-properties-common | |
sudo add-apt-repository ppa:canonical-chromium-builds/stage | |
sudo apt-get update | |
sudo apt-get install chromium-browser | |
chromium-browser --headless --no-sandbox http://example.org/ |
uninstall previous chrome
sudo apt-get purge chromium-browser
re-install the new stable chrome headless
sudo apt-get update sudo apt-get install -y libappindicator1 fonts-liberation wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb sudo dpkg -i google-chrome*.deb
I used these commands in a non-alpine based Dockerfile to setup LightHouse. At first it seemed to work great, but I encountered errors with the Debian package dependencies. After using gdebi-core as an alternative for dpkg, I discovered that the URL given by @putuoka is actually outdated (it's from 2018), so I used the current official URL to download Chrome Headless.
You can refer to my Dockerfile below for references.
FROM node:16
#RUN yes | npm install -g [email protected]
RUN npm install -g lighthouse
RUN apt update
RUN apt-get install -y libappindicator1 fonts-liberation
RUN wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
RUN apt install -y gdebi-core
RUN gdebi --non-interactive google-chrome*.deb
I've successfully installed it. For additional references, you can view the answer by @LoganGray
Thanks to all.
This ppa repository (https://launchpad.net/~phd/+archive/ubuntu/chromium-browser) was moved (phd.re
-> phd
):
sudo add-apt-repository ppa:phd/chromium-browser
Since this gist is easily googleable when looking for alternative chromium ppa, could you please update the above in your comments?
Also you will need apt-pinning, as occasionally the original snap package may have higher version than the one in this ppa:
echo '
Package: *
Pin: release o=LP-PPA-phd-chromium-browser
Pin-Priority: 1001
' | sudo tee /etc/apt/preferences.d/phd-chromium-browser
this one works on debian 11
FROM node:14-bullseye
RUN apt-get update && apt-get install -y fonts-liberation
RUN wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | apt-key add -
RUN sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
RUN apt update && apt install -y google-chrome-stable
@u007 you are a hero, it also works on Ubuntu 20.04
sorry i also found it somewhere, lost track of it haha
I am on a ubuntu ...
and i cant make it work :(
npx lighthouse --chrome-flags='--headless' --quiet --no-update-notifier --no-enable-error-reporting --output=json --throttle --stop --preset=desktop --output-path=\nytimes_com\2022_05_15_01_32_43_R_1_nytimes_com_desktop.json https://www.nytimes.com/
Unable to connect to Chrome
are you running in docker?
@phd I am more than happy to update my comment. Would you mind providing me a full command so that I can copy & paste as I won't be able to test it anymore?
sudo add-apt-repository ppa:phd/chromium-browser
echo '
Package: *
Pin: release o=LP-PPA-phd-chromium-browser
Pin-Priority: 1001
' | sudo tee /etc/apt/preferences.d/phd-chromium-browser
sudo apt update
sudo apt install -y chromium-browser
@phd Done, thank you!
thanks
Do yourselves a favour and switch to Microsoft Edge, Chromium underneath and a proper deb package
@ktechmidas oh man... That's hilarious, thanks for the great advice!
The only difficulty I had with installing Microsoft Edge + WebDriver into a CI docker — it wasn't easy to contain the primal laughter of me doing such a fun thing — otherwise, it actually went silky smooth! 🤣
Way smoother than dealing with google's utterly borked apt repos, at any rate.
FROM python:3.10
#-- Add Microsoft's deb package signing key -- https://learn.microsoft.com/en-us/linux/packages
RUN wget https://packages.microsoft.com/keys/microsoft.asc -O - \
| gpg --no-default-keyring --keyring /etc/apt/keyrings/microsoft-packages.gpg --import -
#-- Add APT package repository
RUN echo 'deb [arch=amd64 signed-by=/etc/apt/keyrings/microsoft-packages.gpg] https://packages.microsoft.com/repos/edge stable main' \
> /etc/apt/sources.list.d/microsoft-edge.list
#-- Refresh index, install latest stable Microsoft Edge
RUN apt-get update && \
apt-get install -y --no-install-recommends microsoft-edge-stable
#-- Install WebDriver -- matching version as Edge we just installed
RUN set -x; \
EDGE_VERSION=$(dpkg-query --showformat='${Version}' --show microsoft-edge-stable | sed s/-1$//) && \
WEBDRIVER=https://msedgedriver.azureedge.net/127.0.2651.107/edgedriver_linux64.zip && \
echo "Edge version $EDGE_VERSION" && \
echo "WebDriver $WEBDRIVER" && \
wget $WEBDRIVER -O /tmp/webdriver.zip && \
unzip /tmp/webdriver.zip msedgedriver -d /usr/local/bin/ && \
rm -vf /tmp/webdriver.zip && \
ls -l `which msedgedriver`
#-- https://learn.microsoft.com/en-us/microsoft-edge/webdriver-chromium/
[...]
Also easy to find more pedestrian guides, here's one https://linuxcapable.com/how-to-install-microsoft-edge-on-debian-linux/
... This is so cool, ⭐ https://github.com/microsoft/linux-package-repositories
Anyway, awesome tip, thanks again!
Thank you so much! This finally got my Laravel Dusk Test suite running on Windows 10 + WSL (Ubuntu 20)