Zum Inhalt springen
DeutschlandGPT

Linux

Deploying the DEB, RPM and AppImage, distribution requirements and updates without a package repository

We ship three formats for Linux: a DEB for Debian and Ubuntu, an RPM for Fedora, RHEL and openSUSE, and an AppImage that runs on any distribution without a package manager. All three contain the same application, they only differ in how they reach the device.

FileInstalls toAdmin rightsAutomatic updatesIntended for
.deb/usr/bin, /usr/libyesnoCentral deployment through apt
.rpm/usr/bin, /usr/libyesnoCentral deployment through dnf
.AppImageanywhere you choosenoyes, if writableSelf-service, terminal servers
ValueContent
Current DEBhttps://www.deutschlandgpt.de/api/desktop/download/linux-deb
Current RPMhttps://www.deutschlandgpt.de/api/desktop/download/linux-rpm
Current AppImagehttps://www.deutschlandgpt.de/api/desktop/download/linux-appimage
Current versionhttps://www.deutschlandgpt.de/api/desktop/version/linux-deb

Requirements

The app is a Tauri application and uses the distribution's WebView instead of bundling its own browser engine. It requires 64-bit along with GTK 3 and WebKitGTK 4.1, which covers Ubuntu 24.04, Debian 13 and Fedora 40 and newer, among others.

Older releases that ship WebKitGTK 4.0, Ubuntu 22.04 for example, cannot start the app. If that describes your fleet, talk to us before you begin the rollout.

The AppImage additionally needs libfuse2. Without it, the AppImage still starts via --appimage-extract-and-run.

Deploying the DEB through apt

The package installs for every user on the device and therefore needs root. apt resolves dependencies itself as long as you pass a path rather than a package name, so the argument has to contain a slash:

BASH
curl -fsSL -o /tmp/deutschlandgpt.deb \
  https://www.deutschlandgpt.de/api/desktop/download/linux-deb
sudo apt-get install -y /tmp/deutschlandgpt.deb

The same pattern works for Ansible, Salt or any other configuration tool. Because the URL is stable, the role never has to be touched for a release.

Deploying the RPM through dnf

BASH
curl -fsSL -o /tmp/deutschlandgpt.rpm \
  https://www.deutschlandgpt.de/api/desktop/download/linux-rpm
sudo dnf install -y /tmp/deutschlandgpt.rpm

On openSUSE use sudo zypper --no-gpg-checks install /tmp/deutschlandgpt.rpm instead.

We do not run our own apt or dnf repository, so the packages are not signed with a GPG key your package manager knows. Provenance comes from the TLS download from www.deutschlandgpt.de. If your environment requires a signed repository, talk to us.

Deploying the AppImage

The AppImage needs neither root nor a package manager. It only has to be executable:

BASH
sudo mkdir -p /opt/deutschlandgpt
sudo curl -fsSL -o /opt/deutschlandgpt/DeutschlandGPT.AppImage \
  https://www.deutschlandgpt.de/api/desktop/download/linux-appimage
sudo chmod +x /opt/deutschlandgpt/DeutschlandGPT.AppImage

Add a launcher to the application menu with a desktop entry:

INI
[Desktop Entry]
Type=Application
Name=DeutschlandGPT
Exec=/opt/deutschlandgpt/DeutschlandGPT.AppImage
Icon=deutschlandgpt
Categories=Office;Network;
Terminal=false

Place the file at /usr/share/applications/deutschlandgpt.desktop so it applies to every user, then run update-desktop-database /usr/share/applications.

Updates

The AppImage is the only Linux format with automatic updates. The app replaces its own file, which only works if the signed-in user may write to it. If the AppImage sits under /opt and is owned by root, the app disables updates, exactly as it does for an MSI installation on Windows. Deployment is then entirely up to you.

DEB and RPM never update themselves. Deploy new versions through the same URL as the initial install, apt and dnf recognise the higher version and replace the package.

To check whether a newer version exists without a JSON parser, use the version endpoint:

BASH
curl -fsL https://www.deutschlandgpt.de/api/desktop/version/linux-deb

How automatic updates behave in general and how to disable them by policy is on Controlling updates.

Signatures

Linux has no equivalent to Apple notarisation or Authenticode. None of the three formats carries a signature the operating system verifies before launch. Provenance comes from the TLS download from www.deutschlandgpt.de, which redirects to our CDN.

Network

Firewall and proxy requirements are the same as for the running app. The full list is on Network requirements.

Was this page helpful?