HowTo: Install the Brave Browser on Fedora Atomic Desktops

3 Likes

How about installing the browser inside a toolbx container?

1 Like

This has pros and cons. It seems that browsers can use user namespaces when ran in a Podman container. As Toolbox and Distrobox are not sandboxed, they also have access to the home directory.

Disadvantage is that

  • toolbox does not allow to use a separate homedir. This means running multiple distros would cause dotfile conflicts or in general clutter
  • if you run a fedora box, you cannot normally upgrade a distro. Recommending these containers is dangerous, especially for nontechnical users
  • many do things like rebuilding containers, using normal compose files like with Podman directly. This misses the point of Toolboxes I think.

Distrobox has support for 1. and 3. but still the issue that upgrades dont normally work.

If you for example run Arch or Tumbleweed which dont need distro upgrades, you need a separate homedir to avoid dotfile conflicts.

And then you need desktop integration, again Distrobox does this easily, Toolbox does not.

The UX sucks completely, it adds an entire minimal distro on top, causing increased network bandwidth, storage useup and complexity of the OS.

It is not safe as a general recommendation. Just layer it.

2 Likes

:eyes:

Thorium ran nicely in a container with separate /home. I would do the same for any other browser too where I wanted isolation. The image is minimal (~300MB) and the dependencies you would have incurred anyways.

:thinking:

I think it is nontrivial to use a custom home, change my mind!

Ok remembered your post. You create a container from the start. This is an okay method but not how you use toolbox normally.

1 Like

Well. . . toolbox does pull the fedora:latest image anyway when you create a container, in this instance you are merely installing your app and setting the ENV= to get the directory you want. :smiley: Much simpler with distrobox though. . .

I’m “supposed” to be following up on your thread, doing a write up, + adding SELinux properties and simplifying it. So apologies for not getting around to that. :fedora: :+1:t5:

1 Like

No problem. As toolbox is also just using that, mind upstreaming the ENV= capability to it, to allow using a flag?

This sounds not that hard, and is really really needed.

The mutable home directory is unmanaged. There is nothing preventing dotfile breakages or bloat here.

It’s not going to happen, and I’m not getting into any more Github fights over toolbox. :laughing:

I’m not sure what is going on with my fresh install of Fedora 40 Kinoite, but when I do the steps provided in the Github repo, and run ./braveinstall, I simply get an error about the brave-browser package not being found:

Which version of Brave do you want to install? (stable/beta/nightly): stable

[sudo] password for laptop: 
Repo and Key downloaded.
installing...

Checking out tree ba7134c... done
Enabled rpm-md repositories: fedora-cisco-openh264 updates fedora rpmfusion-free-updates rpmfusion-free rpmfusion-nonfree-updates rpmfusion-nonfree mullvad-stable updates-archive
Importing rpm-md... done
rpm-md repo 'fedora-cisco-openh264' (cached); generated: 2024-03-12T11:45:42Z solvables: 3
rpm-md repo 'updates' (cached); generated: 2024-07-15T01:24:27Z solvables: 21475
rpm-md repo 'fedora' (cached); generated: 2024-04-14T18:51:11Z solvables: 74881
rpm-md repo 'rpmfusion-free-updates' (cached); generated: 2024-07-12T06:20:29Z solvables: 133
rpm-md repo 'rpmfusion-free' (cached); generated: 2024-04-20T12:11:51Z solvables: 422
rpm-md repo 'rpmfusion-nonfree-updates' (cached); generated: 2024-07-12T06:38:41Z solvables: 65
rpm-md repo 'rpmfusion-nonfree' (cached); generated: 2024-04-20T12:18:23Z solvables: 194
rpm-md repo 'mullvad-stable' (cached); generated: 2024-06-25T13:07:20Z solvables: 2
rpm-md repo 'updates-archive' (cached); generated: 2024-06-30T05:31:17Z solvables: 22869
error: Packages not found: brave-browser

Any advice here will be much appreciated. :slight_smile:

1 Like

What instructions did you follow :thinking:

Using the scripts and instructions provided in the Github repo which is linked to in the OP:

curl -sSLO https://github.com/boredsquirrel/braveinstall-fedora-atomic/raw/main/braveinstall
chmod +x braveinstall
./braveinstall
1 Like

Strange. You may need to run a normal update.

Can I get cat /etc/yum.repos.d/brave-browser.repo ?

I’ve run rpm-ostree upgrade and rebooted a few times after running the script.
cat /etc/yum.repos.d/brave-browser.repo returns nothing (also with sudo) which tells me the repo is not being fetched properly?

OK, so I experimented a bit by running the following commands:

curl -LsS https://brave-browser-rpm-release.s3.brave.com/brave-browser.repo | sudo tee /etc/yum.repos.d/brave-browser.repo
curl -LsS https://brave-browser-rpm-release.s3.brave.com/brave-core.asc | sudo tee /etc/pki/rpm-gpg/brave-core.asc

cat /etc/yum.repos.d/brave-browser.repo then returns:

[brave-browser]
name=Brave Browser
enabled=1
autorefresh=1
baseurl=https://brave-browser-rpm-release.s3.brave.com/$basearch

rpm-ostree install brave-browser then returns the following:

Checking out tree fc95804... done
Enabled rpm-md repositories: fedora-cisco-openh264 updates fedora rpmfusion-free-updates rpmfusion-free rpmfusion-nonfree-updates rpmfusion-nonfree brave-browser mullvad-stable updates-archive
Importing rpm-md... done
rpm-md repo 'fedora-cisco-openh264' (cached); generated: 2024-03-12T11:45:42Z solvables: 3
rpm-md repo 'updates' (cached); generated: 2024-07-16T04:26:39Z solvables: 21627
rpm-md repo 'fedora' (cached); generated: 2024-04-14T18:51:11Z solvables: 74881
rpm-md repo 'rpmfusion-free-updates' (cached); generated: 2024-07-12T06:20:29Z solvables: 133
rpm-md repo 'rpmfusion-free' (cached); generated: 2024-04-20T12:11:51Z solvables: 422
rpm-md repo 'rpmfusion-nonfree-updates' (cached); generated: 2024-07-12T06:38:41Z solvables: 65
rpm-md repo 'rpmfusion-nonfree' (cached); generated: 2024-04-20T12:18:23Z solvables: 194
rpm-md repo 'brave-browser' (cached); generated: 2024-06-25T16:07:21Z solvables: 81
rpm-md repo 'mullvad-stable' (cached); generated: 2024-07-16T07:05:39Z solvables: 2
rpm-md repo 'updates-archive' (cached); generated: 2024-06-30T05:31:17Z solvables: 22869
Resolving dependencies... done
Will download: 1 package (7.7 kB)
Downloading from 'fedora'... done
Importing packages... done
error: importing RPMs: package brave-browser-1.67.123-1.x86_64 cannot be verified and repo brave-browser is GPG enabled: /var/cache/rpm-ostree/repomd/brave-browser-40-x86_64/packages/brave-browser-1.67.123-1.x86_64.rpm could not be verified.
/var/cache/rpm-ostree/repomd/brave-browser-40-x86_64/packages/brave-browser-1.67.123-1.x86_64.rpm:  digest:  SIGNATURE:  NOT OK