HowTo: Install the Brave and Vidaldi Browser on Fedora Atomic Desktops

Brave and Vivaldi both have RPM repositories. But installing both has weird quirks.

Brave uses the same key for beta and nightly.

Meanwhile, Vivaldi doesnt document how to normally install their app (first add the repo, then install with dnf/rpm-ostree), so I write it manually.

The script got quite nice and makes this a breeze.

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

  • if you run a fedora box, you cannot normally upgrade a distro, instead you need to remove the container and add it back. Recommending these containers is kinda dangerous, especially for nontechnical users, as they wont do that, especially as atomic systems should be “install and forget”.
  • additionally to that, toolbx and does not allow to use a separate homedir. This means running a different distro in the container, that doesnt need upgrades (like Arch, OpenSUSE Tumbleweed or Fedora Rawhide) could cause conflicts with dotfiles.

Distrobox has support for a separate homedir per box (but they refuse to set it as default) and composable boxes, but needs to be layered.

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

The UX of using containers for software is just not beginnerfriendly.

It also 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:

1 Like

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

Hello,

I’ve seen some of the answers and guides you’ve posted in this forum and wanted to suggest starting a blog or something like it. You seem interested in helping new users like myself and your instructions are very valuable. I would happily follow your work in a website where you may have an easier time organizing your content. Though of course, I sincerely appreciate your contribution here and would understand if you don’t want to deal with a separate website.

1 Like

I have a post where I keep track of my interesting threads here. It is linked in my profile.

The howto things are unofficial, and I used that to give some guides where a lot of 3rd party stuff is involved. These fit better in a personal blog than into the docs, at least I think that, but I would love if Fedora docs could include anything, no matter if 3rd party or not.

Discourse is really nice to write in, easy, works on the phone flawlessly, so unless I find a CMS that is just as accessible, a blog doesnt make sense.

Also, anyone can “track” my threads here on discourse, in their profile settings. You just set that you get notified on every new thread by me, and it works flawlessly.

1 Like

I ran this again today and now it suddenly works:
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
rpm-ostree install brave-browser

Brave is installed.

Added 3rd-party-software, vivaldi

Sorry for the inconvenience. I had an error in the script where I changed the script to include brave and vivaldi, now it is called “browserscript” and not “braveinstall” anymore.

It should work now, until brave or vivaldi change something.

Then please write me here, I honestly get too much mail spam.