mirror of
https://github.com/kasmtech/workspaces-images.git
synced 2026-07-17 16:46:08 +00:00
Merge branch 'QA-367_fix_firefox_alpine' into 'develop'
QA-367 fix firefox on alpine Closes QA-367 See merge request kasm-technologies/internal/workspaces-images!435
This commit is contained in:
commit
f5cdfc653d
1 changed files with 34 additions and 15 deletions
|
|
@ -18,32 +18,46 @@ for LANG in ${LANGS}; do
|
|||
${RELEASE_URL}${LANG}
|
||||
done
|
||||
|
||||
# Firefox 147+ introduced XDG base dir support, so profile paths will vary and need to be handled appropriately
|
||||
FIREFOX_VERSION=$(firefox --version | awk '{print $3}')
|
||||
FIREFOX_MAJOR=$(echo "$FIREFOX_VERSION" | cut -d. -f1)
|
||||
if [[ "${FIREFOX_MAJOR:-0}" -ge 147 ]]; then
|
||||
FIREFOX_PROFILE_BASE="$HOME/.config/mozilla/firefox"
|
||||
else
|
||||
FIREFOX_PROFILE_BASE="$HOME/.mozilla/firefox"
|
||||
fi
|
||||
FIREFOX_PROFILE_PATH="$FIREFOX_PROFILE_BASE/kasm"
|
||||
FIREFOX_PROFILES_INI="$FIREFOX_PROFILE_BASE/profiles.ini"
|
||||
|
||||
# Creating a default profile
|
||||
firefox -headless -CreateProfile "kasm $HOME/.mozilla/firefox/kasm"
|
||||
firefox -headless -CreateProfile "kasm $FIREFOX_PROFILE_PATH"
|
||||
|
||||
# For alpine 3.20 and later, firefox version shows a security nag. Silence it..
|
||||
if [ "$(printf '%s\n' 3.20 $(cat /etc/alpine-release) | sort -V | head -n 1)" = "3.20" ]; then
|
||||
echo 'user_pref("security.sandbox.warn_unprivileged_namespaces", false);' > $HOME/.mozilla/firefox/kasm/user.js
|
||||
chown 1000:1000 $HOME/.mozilla/firefox/kasm/user.js
|
||||
if [[ "$(printf '%s\n' 3.20 $(cat /etc/alpine-release) | sort -V | head -n 1)" = "3.20" ]]; then
|
||||
echo 'user_pref("security.sandbox.warn_unprivileged_namespaces", false);' > "$FIREFOX_PROFILE_PATH/user.js"
|
||||
chown 1000:1000 "$FIREFOX_PROFILE_PATH/user.js"
|
||||
fi
|
||||
|
||||
if [[ "${FIREFOX_MAJOR:-0}" -ge 147 ]]; then
|
||||
ROOT_CERTDB_BASE="/root/.config/mozilla"
|
||||
else
|
||||
ROOT_CERTDB_BASE="/root/.mozilla"
|
||||
fi
|
||||
|
||||
|
||||
# Generate a certdb to be detected on squid start
|
||||
HOME=/root firefox --headless &
|
||||
mkdir -p /root/.mozilla
|
||||
CERTDB=$(find /root/.mozilla* -name "cert9.db")
|
||||
while [ -z "${CERTDB}" ] ; do
|
||||
mkdir -p "$ROOT_CERTDB_BASE"
|
||||
CERTDB=$(find "$ROOT_CERTDB_BASE" -name "cert9.db")
|
||||
while [[ -z "${CERTDB}" ]] ; do
|
||||
sleep 1
|
||||
echo "waiting for certdb"
|
||||
CERTDB=$(find /root/.mozilla* -name "cert9.db")
|
||||
CERTDB=$(find "$ROOT_CERTDB_BASE" -name "cert9.db")
|
||||
done
|
||||
sleep 2
|
||||
kill $(pgrep firefox)
|
||||
CERTDIR=$(dirname ${CERTDB})
|
||||
mv ${CERTDB} $HOME/.mozilla/firefox/kasm/
|
||||
rm -Rf /root/.mozilla
|
||||
mv ${CERTDB} $FIREFOX_PROFILE_PATH/
|
||||
rm -Rf "$ROOT_CERTDB_BASE"
|
||||
|
||||
cat >>$HOME/.mozilla/firefox/profiles.ini <<EOL
|
||||
cat >>"$FIREFOX_PROFILES_INI" <<EOL
|
||||
[Install4F96D1932A9F858E]
|
||||
Default=kasm
|
||||
Locked=1
|
||||
|
|
@ -52,4 +66,9 @@ EOL
|
|||
# Desktop icon and perms
|
||||
cp /usr/share/applications/firefox.desktop $HOME/Desktop/
|
||||
chmod +x $HOME/Desktop/firefox.desktop
|
||||
chown -R 1000:1000 $HOME/.mozilla
|
||||
if [[ -d "$HOME/.mozilla" ]]; then
|
||||
chown -R 1000:1000 "$HOME/.mozilla"
|
||||
fi
|
||||
if [[ -d "$HOME/.config/mozilla" ]]; then
|
||||
chown -R 1000:1000 "$HOME/.config/mozilla"
|
||||
fi
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue