janhq / jan

Jan is an open source alternative to ChatGPT that runs 100% offline on your computer. Multiple engine support (llama.cpp, TensorRT-LLM)
https://jan.ai/
GNU Affero General Public License v3.0
22.54k stars 1.3k forks source link

Flatpak Support #1685

Open pchmykh opened 8 months ago

pchmykh commented 8 months ago

Hello! Please add Flatpak support. It will be cool for immutable desktop users, and many others. Thank you!

hiento09 commented 7 months ago

Hi @pchmykh , currently, we offer support for the AppImage file format, which allows for direct execution on numerous Linux platforms without the need for installation. Additionally, we provide support for Dockerfile, Docker-compose, and Helm charts for users interested in a web-based, headless approach on remote servers. Please consider using these options. Thank you for your interest in Jan App!

Doomsdayrs commented 6 months ago

As a user, having to use an app image is tedious, I need to keep track of the file, then I need to find the file when I want to run the program again. It does not appear on my program menu, and it does not appear on my software store. If I want to remove it, I need to find it again, then delete the file.

Using flatpak, I do not experience these issues. Flatpak lets me find the application in my program menu, it lets me find the application in my software store to remove, and it also lets me see what the software is able to access on my computer (files, devices, etc).

calebccff commented 6 months ago

this also totally ignores folks running Alpine or other distros which don't fit the "a recent and standard glibc" mold. AppImages depend on system libraries so they aren't even truly portable.

I'm guessing there's just no interest in handling this, but would you be open to a PR?

Enderteck commented 6 months ago

I don't want an huge file that I don't know where to put, have no .desktop shortcut mode for, and no easy update methods to use for it.

Flatpak is the future and most apps are already on there. Please release it there.

qnixsynapse commented 6 months ago

flatpak is the best way to distribute app on Linux, not deb or app-image.

Reason: Here is an attempt to run the appimage on nixos(yeah I know but it will take some amount of time to make it work on nixos which I am not willing to since this installation is focused on using flatpaks only.. 😃):

image

Edit: Since Jan is an electron app, please look at the flatpak manifests of electron apps like element for help in packaging.

rotilho commented 3 months ago

Hey guys! Any chance to (re)consider Flatpak? I had to install a bunch of dependencies to run to run Jan, this is not a good UX. It would be great to have a truly portable package.

eckartal commented 3 months ago

Hey! We received 3 comments on Reddit related to Flatpak support. One of them: Flatpak is the one feature I'm still missing from Jan. If you do add Flatpak packaging, make sure to keep the permissions as tight as possible, particularly for the file system. This is something I always look for when installing a Flatpak, and I know many others do as well. An application like Jan should not need to access anything outside its config and data directories by default, everything else it can get through portals.

t3dium commented 3 months ago

I would also like flatpak support for Jan, for all the reasons stated above but also I think the app could reach a wider audience too as it'll be shown on gnome software & I think also kde discover by default, which both have support for flatpaks. As well as appearing on flathub of course. Whereas with the current appimage the user has to go out of their way to find Jan, and to manually install the appimage.

IGLOU-EU commented 2 months ago

Hello there,

Adding Flatpak support offers several advantages. Ensuring cross-distribution, Sandboxing to isolate applications and enhancing security, Updates simplified, Handles dependencies by including them in the package and avoiding conflicts with system libraries.

Furthermore, tools like Flatseal, allows to easily adjust permissions without needing to delve into command-line operations.

Enderteck commented 2 months ago

You can use this if you like GTK apps: https://flathub.org/apps/com.jeffser.Alpaca

IGLOU-EU commented 2 months ago

You can use this if you like GTK apps: https://flathub.org/apps/com.jeffser.Alpaca

I using it, but this is not the same goal :wink:

DMantis commented 1 month ago

The flatpak also allows the user with different risk profile and security considerations to isolate the app from the network/partially filesystem and expose only needed rights to the app. And any app has bugs/mistakes which leads to security vulnerabilities, so it's nice to have.

Of course it's possible to pack the deb/appimage into bubblewrap/another sandbox solutions, but that takes a lot of time while flatpak has unified methods for that and most such usecases would be covered by the community.

AppImage executes without a sandbox and therefore poses additional risks.