How to Create Stand-alone Web Apps in Ubuntu-based Distros

Many web apps offer a desktop app option for Mac and Windows. But rarely are those same desktop apps available for Linux. In addition, it is difficult to customize or modify those web apps when they’ve been compiled to a desktop app, even if they’re just using Electron or Tauri.

Most web apps are set up as PWAs and can be “installed” easily from the browser. However, on Linux, and IIRC on Mac as well, these windows appear as additional browser windows. There’s not a huge advantage to installing a web app this way except for having less browser chrome. They work much better on mobile devices, which I think is the focus for PWAs anyway.

There have been tools for creating desktop versions of web apps for a long time. Fluid is/was one for Mac, but hasn’t had an update for some time; maybe it doesn’t require one, but I’m on PopOS anyway.

Nativefier was a popular option but is officially unmaintained since September, with the developer suggesting using browser shortcuts, which functionally work exactly like PWAs. It is probably ok to keep using Nativefier for now, but it will eventually rot as all unmaintained software does.

Linux Mint ships with Webapp Manager. I’ve never tried Mint, but I’ve watched plenty of walkthrough videos and have always longed for this app on the distros I’ve used (so far Ubuntu and PopOS).

Mint is based on Ubuntu, as is PopOS, so in theory I could get it running. Theory: correct! Here is what I did, based on this article:

  1. Download the .deb from packages.linuxmint.com/…/webapp-manager
  2. PopOS ships with Eddy, so I used that to install Webapp Manager from the deb.
  3. That was it! Using Webapp Manager is entirely intuitive, and offers multiple customization options (including which browser to use), and its Github readme covers everything else one might need to know.

The app I was trying to install standalone was Notion, which I customize with custom CSS. After getting the Webapp Manager version installed, I just had to install the Stylus extension again to load my custom CSS.