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.
| File | Installs to | Admin rights | Automatic updates | Intended for |
|---|---|---|---|---|
.deb | /usr/bin, /usr/lib | yes | no | Central deployment through apt |
.rpm | /usr/bin, /usr/lib | yes | no | Central deployment through dnf |
.AppImage | anywhere you choose | no | yes, if writable | Self-service, terminal servers |
| Value | Content |
|---|---|
| Current DEB | https://www.deutschlandgpt.de/api/desktop/download/linux-deb |
| Current RPM | https://www.deutschlandgpt.de/api/desktop/download/linux-rpm |
| Current AppImage | https://www.deutschlandgpt.de/api/desktop/download/linux-appimage |
| Current version | https://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:
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
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:
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:
[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:
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.