Running Joplin in bubblewrap, isolated, on ubuntu 24 or newer, wayland only

Hi there :slight_smile:

I wanted for a long time to run Joplin a bit isolated on my machines. I know there is a firejail profile for Joplin, but I did not want to use a setuid program, so I ended up going for some bubblewrap based script.

I tried to restrict the scope - ubuntu 24 or newer, wayland only. The goals are:

  • sandbox with bubblewrap
  • run the appimage, checking that the latest is run, and that its checksum is ok
  • have the joplin data mounted from the host so it is persistent
  • have a joplin "data dropping" folder shared with the host to be able to exchange files
  • otherwise, joplin cannot access anything more on the host - no reason joplin can read my whole system
  • all assumptions checked in code and abort loudly on any issue
  • for now no network limitation, but I think I will look in the future at limiting the sandbox network so it can only talk to the joplin cloud endpoint, nothing else - this is on my todo

The script has grown quite long (both a curse and a blessing being able to write code using agentic ai), but seems to work well so far.

Comments etc welcome, ideally on the github repo through issues / pull requests: see https://github.com/jerabaul29/config_scripts_snippets/tree/main/scripts/joplin .

PS: if there is interest and this could / should live another place / on a more "official" repo so it is more useful to the community, perfectly fine to me!