diff --git a/.gitignore b/.gitignore
index 9cb596a95c14a6040b3ce74558351069e41b8151..c8b66409471e987c5db6b816baa954d97ffd520c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,5 @@
-builddir
+flatpak-builddir
+flatpak-repo
 .coverage
 .flatpak-builder
 __pycache__
diff --git a/README.md b/README.md
index 1a61823b90ebb77a1a740041f0ed4917cf91d3f2..1deaf2a51b5287690d910f8afc48215523c9f8c8 100644
--- a/README.md
+++ b/README.md
@@ -36,7 +36,7 @@ enter the URL to this Git project.
 To build it on the command-line without Builder, call this:
 ```bash
 flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
-flatpak-builder builddir --install-deps-from=flathub --user --install --force-clean --ccache app.briar.gtk.json
+flatpak-builder --install-deps-from=flathub --user --install --force-clean --ccache flatpak-builddir app.briar.gtk.json
 flatpak run app.briar.gtk
 ```
 
diff --git a/tools/flatpak/app.briar.gtk.flatpakref b/tools/flatpak/app.briar.gtk.flatpakref
new file mode 100644
index 0000000000000000000000000000000000000000..71a6f7e971b96e369498f4e7c0351cd556ed44e7
--- /dev/null
+++ b/tools/flatpak/app.briar.gtk.flatpakref
@@ -0,0 +1,8 @@
+[Flatpak Ref]
+Name=app.briar.gtk
+Branch=stable
+Title=Briar GTK
+Url=https://flatpak.dorfbrunnen.eu/repo/
+RuntimeRepo=https://dl.flathub.org/repo/flathub.flatpakrepo
+IsRuntime=false
+GPGKey=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
diff --git a/tools/flatpak/dorfbrunnen.flatpakrepo b/tools/flatpak/dorfbrunnen.flatpakrepo
new file mode 100644
index 0000000000000000000000000000000000000000..8bc79d54ae68ba3cbcf56def4125cd3a40a2be3b
--- /dev/null
+++ b/tools/flatpak/dorfbrunnen.flatpakrepo
@@ -0,0 +1,8 @@
+[Flatpak Repo]
+Title=Dorfbrunnen.eu
+Url=https://flatpak.dorfbrunnen.eu/repo/
+Homepage=https://nico.dorfbrunnen.eu/
+Comment=Flatpak applications by Nico Alt, only free and open source software
+Description=Flatpak applications by Nico Alt, only free and open source software
+Icon=https://nico.dorfbrunnen.eu/images/avatar.png
+GPGKey=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
diff --git a/tools/flatpak/release.sh b/tools/flatpak/release.sh
new file mode 100755
index 0000000000000000000000000000000000000000..0b114e8e654adec4ffaaa91758fcb22def0e7ad2
--- /dev/null
+++ b/tools/flatpak/release.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+# Copyright (c) 2020 Nico Alt
+# SPDX-License-Identifier: AGPL-3.0-only
+# License-Filename: LICENSE.md
+
+codedir=""
+repodir=""
+gpgfile=""
+
+set -e -x
+
+flatpak-builder --repo=$codedir/flatpak-repo --install-deps-from=flathub --user --force-clean --ccache $codedir/flatpak-builddir $codedir/app.briar.gtk.json
+flatpak build-commit-from --src-repo=$codedir/flatpak-repo --gpg-sign=3D7EA4950100A0D222C970717C23232F3BF374D7 --update-appstream --no-update-summary $repodir
+flatpak build-update-repo --default-branch=stable --gpg-import=$gpgfile --gpg-sign=3D7EA4950100A0D222C970717C23232F3BF374D7 --generate-static-deltas $repodir