ArchiSteamFarm icon indicating copy to clipboard operation
ArchiSteamFarm copied to clipboard

Publish app as flatpak on Flathub

Open rugk opened this issue 4 months ago • 5 comments

Checklist

Enhancement purpose

It would be nice if you could publish this as a flatpak on flathub e.g.

Flatpaks are a modern software distribution mechanism for Linux distros, can thus installed on any distro and are easy to update. They are easy to install and update and work on all Linux distros. Also, if you publish it on Flathub you may grow your user base given many distros include that and it is a common software source, so your app can be discovered more easily.

Solution

Here is how to get started.

Note if you need access to the (data of) an installed Steam client, you likely can do so like these apps do that something very similar:

  • https://flathub.org/en/apps/io.github.Foldex.AdwSteamGtk -> https://github.com/flathub/io.github.Foldex.AdwSteamGtk
  • https://flathub.org/en/apps/com.steamgriddb.steam-rom-manager -> https://github.com/flathub/com.steamgriddb.steam-rom-manager
  • more potentially related apps

Why currently available solutions are not sufficient?

I only see you offer static files on your release GitHub page. These have the following disadvantages:

  • do not update automatically
  • are not sandboxed
  • are not checked by a third-party like Flathub
  • may not actually run on all Linux systems (flathubs are made for this and once you have flatpak installed it should work)
  • are not easy/intuitive to install

Also, Flathub is just "the place to be" for Linux apps and is growing, so if you have your app there, it also gets to be found.

Can you help us with this enhancement idea?

Somehow, I can test and offer feedback, but can't code

Additional info

I can test a flatpak.

rugk avatar Sep 26 '25 22:09 rugk

Although I use flatpak myself and I consider it a nice addition to the software distribution, your assumptions here are simply not correct.

Why currently available solutions are not sufficient?

  • do not update automatically - Yes, it does.
  • are not checked by a third-party like Flathub - Source code is available to review for everyone in the world.
  • may not actually run on all Linux systems - I believe 99% of Linux systems are covered as for today
  • are not easy/intuitive to install - Simply not true, you need to just unzip a file.

Saying that I would like to see anyway, ASF in the flathub directory with the verified badge. It will somehow improve the visibility and the status itself of the project and the developer.

nolddor avatar Sep 27 '25 06:09 nolddor

I think it's better not ship with Flathub there are a lot of people use Docker and know nothing about it, they come and complain the discord server about support. Meanwhile its just a user configuration error or it is something within Docker itself.

Since Flatpak the technology itself also relies on isolation it also might drive some users insane because they don't understand the technology they use and could have gone simpler methods instead.

Unfortunately many beginner friendly distros serve software with flatpak and newcomers not even aware of the performance drawback and many issues the technology brings.

WiLuX-Source avatar Sep 27 '25 12:09 WiLuX-Source

The difference is the flatpak is already configured to work out of the box in an ideal case, so there is nothing to complain. I alos have shown how to do it so I don't know what access this app needs but I guess it should be doable. Most apps, even quite advanced ones, can be shipped with flatpak without any problems.

rugk avatar Sep 27 '25 14:09 rugk

Just so this issue has some feedback from me - I don't have any strong opinion at this point whether to consider in favour or against flatpak.

Just so you're aware, I'm not big fan of containers as a whole. People that want to run ASF inside a container to get "sandboxing" can already do so with ASF's docker image, and all other points are pretty much null as per what @nolddor stated above.

At the same time I'm not saying hard no, because I have no arguments in favour rejecting it. I need to dig into flatpaks first (as I was never on the creating end) before I decide whether to consider or not.

Until then this issue is in evaluation stage. If by any chance somebody wants to speed this up, you're more than welcome to create PR for ASF actually producing such flatpak, so I have less research to do. Otherwise, it's on no-priority wishlist/evaluation, as it's not core feature of ASF and I don't consider it priority of any sort, as existing solutions (including superior ones) already exist.

JustArchi avatar Sep 27 '25 22:09 JustArchi

Had an hour today to quick look to this. Here is a sample that might serve as starting point:

sudo apt install flatpak flatpak-builder

flatpak install org.freedesktop.Platform//25.08 org.freedesktop.Sdk//25.08
flatpak-builder --user --install --force-clean ./out net.justarchi.ArchiSteamFarm.yaml

flatpak run net.justarchi.ArchiSteamFarm

File: net.justarchi.ArchiSteamFarm.yaml

app-id: net.justarchi.ArchiSteamFarm
runtime: org.freedesktop.Platform
runtime-version: '25.08'
sdk: org.freedesktop.Sdk
command: ArchiSteamFarm
finish-args:
  - --share=network

modules:
  - name: asf
    buildsystem: simple
    build-commands:
      # Extract ASF into the flatpak file system
      - unzip ASF-linux-x64.zip -d ${FLATPAK_DEST}
      # Make ASF executable from the flatpak standard bin path
      - mkdir -p ${FLATPAK_DEST}/bin
      - ln -s ${FLATPAK_DEST}/ArchiSteamFarm ${FLATPAK_DEST}/bin/ArchiSteamFarm
      # Make ASF config to be stored in the flatpak standard config path
      # This location is writable and shared within the host
      - rm -rf ${FLATPAK_DEST}/config  
      - ln -s ~/.var/app/${FLATPAK_ID}/config ${FLATPAK_DEST}/config
    sources:
      - type: file
        url: https://github.com/JustArchiNET/ArchiSteamFarm/releases/download/6.2.2.3/ASF-linux-x64.zip
        sha256: f97bbab0f50cff08cdda0ee323be20e17f287e5650e37e315e53cee9bac6014f
        dest-filename: ASF-linux-x64.zip

nolddor avatar Oct 17 '25 20:10 nolddor