diff --git a/github/labels/README.md b/github/labels/README.md
new file mode 100644
index 000000000..3c957f10b
--- /dev/null
+++ b/github/labels/README.md
@@ -0,0 +1,20 @@
+This directory contains the label configuration for the unit-e repositories. The
+labels can be changed on GitHub from the YAML configuration via the API using
+the [beautiful-labels](https://github.com/cornelius/beautiful-labels) script and
+Terraform.
+
+The configuration for the `unit-e` repository currently is in the [repository
+itself](https://github.com/dtr-org/unit-e/tree/master/.github/labels).
+
+It would be nice to merge the configuration of all repositories. This would
+eliminate duplication of shared labels and make it possible to configure all
+labels across repositories with one Terraform run.
+
+Here is an overview of all the labels used:
+
+[unit-e](https://github.com/dtr-org/unit-e/blob/master/.github/labels/dtr-org-unit-e-labels.svg)
+
+![unit-e-desktop](labels-unit-e-desktop.svg)
+![docs.unit-e.io](labels-docs.unit-e.io.svg)
+![clonemachine](labels-unit-e-clonemachine.svg)
+![unit-e-docs](labels-unit-e-project.svg)
diff --git a/github/labels/labels-docs.unit-e.io.svg b/github/labels/labels-docs.unit-e.io.svg
new file mode 100644
index 000000000..9b78fd68e
--- /dev/null
+++ b/github/labels/labels-docs.unit-e.io.svg
@@ -0,0 +1,116 @@
+
+
+
+
diff --git a/github/labels/labels-unit-e-clonemachine.svg b/github/labels/labels-unit-e-clonemachine.svg
new file mode 100644
index 000000000..0a6ee7da2
--- /dev/null
+++ b/github/labels/labels-unit-e-clonemachine.svg
@@ -0,0 +1,75 @@
+
+
+
+
diff --git a/github/labels/labels-unit-e-desktop.svg b/github/labels/labels-unit-e-desktop.svg
new file mode 100644
index 000000000..a171a39a7
--- /dev/null
+++ b/github/labels/labels-unit-e-desktop.svg
@@ -0,0 +1,158 @@
+
+
+
+
diff --git a/github/labels/labels-unit-e-project.svg b/github/labels/labels-unit-e-project.svg
new file mode 100644
index 000000000..51997d939
--- /dev/null
+++ b/github/labels/labels-unit-e-project.svg
@@ -0,0 +1,81 @@
+
+
+
+
diff --git a/github/labels/labels.tf b/github/labels/labels.tf
new file mode 100644
index 000000000..563955645
--- /dev/null
+++ b/github/labels/labels.tf
@@ -0,0 +1,342 @@
+variable "github_token" {}
+
+provider "github" {
+ organization = "dtr-org"
+ token = "${var.github_token}"
+}
+
+resource "github_issue_label" "dtr-org_unit-e-clonemachine_wip" {
+ repository = "unit-e-clonemachine"
+ name = "wip"
+ description = "Work in progress which is not supposed to be merged yet"
+ color = "666666"
+}
+
+resource "github_issue_label" "dtr-org_unit-e-clonemachine_bug" {
+ repository = "unit-e-clonemachine"
+ name = "bug"
+ description = "A problem of existing functionality"
+ color = "d73a4a"
+}
+
+resource "github_issue_label" "dtr-org_unit-e-clonemachine_feature" {
+ repository = "unit-e-clonemachine"
+ name = "feature"
+ description = "New functionality"
+ color = "38d33d"
+}
+
+resource "github_issue_label" "dtr-org_unit-e-clonemachine_refactoring" {
+ repository = "unit-e-clonemachine"
+ name = "refactoring"
+ description = "Changes which clean up code but don't change the user-visible behavior"
+ color = "54d958"
+}
+
+resource "github_issue_label" "dtr-org_unit-e-clonemachine_technical_debt" {
+ repository = "unit-e-clonemachine"
+ name = "technical debt"
+ description = "Cleaning up code which is there for historical reasons"
+ color = "77acfe"
+}
+
+resource "github_issue_label" "dtr-org_unit-e-clonemachine_tests" {
+ repository = "unit-e-clonemachine"
+ name = "tests"
+ description = "Automated tests"
+ color = "66a1fe"
+}
+
+resource "github_issue_label" "dtr-org_unit-e-clonemachine_good_first_issue" {
+ repository = "unit-e-clonemachine"
+ name = "good first issue"
+ description = "Good for newcomers"
+ color = "a0f324"
+}
+
+resource "github_issue_label" "dtr-org_docs.unit-e.io_wip" {
+ repository = "docs.unit-e.io"
+ name = "wip"
+ description = "Work in progress which is not supposed to be merged yet"
+ color = "666666"
+}
+
+resource "github_issue_label" "dtr-org_docs.unit-e.io_backport" {
+ repository = "docs.unit-e.io"
+ name = "backport"
+ description = "Feature should be contributed to bitcoin"
+ color = "f7ca96"
+}
+
+resource "github_issue_label" "dtr-org_docs.unit-e.io_backported" {
+ repository = "docs.unit-e.io"
+ name = "backported"
+ description = "Feature has been merged into bitcoin also"
+ color = "f7931a"
+}
+
+resource "github_issue_label" "dtr-org_docs.unit-e.io_bug" {
+ repository = "docs.unit-e.io"
+ name = "bug"
+ description = "A problem of existing functionality"
+ color = "d73a4a"
+}
+
+resource "github_issue_label" "dtr-org_docs.unit-e.io_feature" {
+ repository = "docs.unit-e.io"
+ name = "feature"
+ description = "New functionality"
+ color = "38d33d"
+}
+
+resource "github_issue_label" "dtr-org_docs.unit-e.io_presentation" {
+ repository = "docs.unit-e.io"
+ name = "presentation"
+ description = "Styling, navigation, structure, etc."
+ color = "dceaff"
+}
+
+resource "github_issue_label" "dtr-org_docs.unit-e.io_repo" {
+ repository = "docs.unit-e.io"
+ name = "repo"
+ description = "Configuration of the repository itself"
+ color = "98c0ff"
+}
+
+resource "github_issue_label" "dtr-org_docs.unit-e.io_language" {
+ repository = "docs.unit-e.io"
+ name = "language"
+ description = "English language, grammar, spelling, style, etc."
+ color = "77acfe"
+}
+
+resource "github_issue_label" "dtr-org_docs.unit-e.io_developer_docs" {
+ repository = "docs.unit-e.io"
+ name = "developer docs"
+ description = ""
+ color = "ffcc00"
+}
+
+resource "github_issue_label" "dtr-org_docs.unit-e.io_operator_docs" {
+ repository = "docs.unit-e.io"
+ name = "operator docs"
+ description = ""
+ color = "ffcc00"
+}
+
+resource "github_issue_label" "dtr-org_docs.unit-e.io_user_docs" {
+ repository = "docs.unit-e.io"
+ name = "user docs"
+ description = ""
+ color = "ffcc00"
+}
+
+resource "github_issue_label" "dtr-org_docs.unit-e.io_glossary" {
+ repository = "docs.unit-e.io"
+ name = "glossary"
+ description = ""
+ color = "ffcc00"
+}
+
+resource "github_issue_label" "dtr-org_docs.unit-e.io_good_first_issue" {
+ repository = "docs.unit-e.io"
+ name = "good first issue"
+ description = "Good for newcomers"
+ color = "a0f324"
+}
+
+resource "github_issue_label" "dtr-org_unit-e-desktop_wip" {
+ repository = "unit-e-desktop"
+ name = "wip"
+ description = "Work in progress which is not supposed to be merged yet"
+ color = "666666"
+}
+
+resource "github_issue_label" "dtr-org_unit-e-desktop_bug" {
+ repository = "unit-e-desktop"
+ name = "bug"
+ description = "A problem of existing functionality"
+ color = "d73a4a"
+}
+
+resource "github_issue_label" "dtr-org_unit-e-desktop_feature" {
+ repository = "unit-e-desktop"
+ name = "feature"
+ description = "New functionality"
+ color = "38d33d"
+}
+
+resource "github_issue_label" "dtr-org_unit-e-desktop_refactoring" {
+ repository = "unit-e-desktop"
+ name = "refactoring"
+ description = "Changes which clean up code but don't change the user-visible behavior"
+ color = "54d958"
+}
+
+resource "github_issue_label" "dtr-org_unit-e-desktop_performance" {
+ repository = "unit-e-desktop"
+ name = "performance"
+ description = "Affecting the performance of the software"
+ color = "6fdf73"
+}
+
+resource "github_issue_label" "dtr-org_unit-e-desktop_broken_test" {
+ repository = "unit-e-desktop"
+ name = "broken test"
+ description = "A test isn't working"
+ color = "dd5664"
+}
+
+resource "github_issue_label" "dtr-org_unit-e-desktop_floating_test" {
+ repository = "unit-e-desktop"
+ name = "floating test"
+ description = "A test that sometimes but not always fails"
+ color = "e2727e"
+}
+
+resource "github_issue_label" "dtr-org_unit-e-desktop_build" {
+ repository = "unit-e-desktop"
+ name = "build"
+ description = "Build system"
+ color = "dceaff"
+}
+
+resource "github_issue_label" "dtr-org_unit-e-desktop_ci" {
+ repository = "unit-e-desktop"
+ name = "ci"
+ description = "Continuous integration"
+ color = "cbdfff"
+}
+
+resource "github_issue_label" "dtr-org_unit-e-desktop_style" {
+ repository = "unit-e-desktop"
+ name = "style"
+ description = "Code style and naming"
+ color = "bad5ff"
+}
+
+resource "github_issue_label" "dtr-org_unit-e-desktop_documentation" {
+ repository = "unit-e-desktop"
+ name = "documentation"
+ description = "Documentation"
+ color = "a9cbff"
+}
+
+resource "github_issue_label" "dtr-org_unit-e-desktop_repo" {
+ repository = "unit-e-desktop"
+ name = "repo"
+ description = "Configuration of the repository itself"
+ color = "98c0ff"
+}
+
+resource "github_issue_label" "dtr-org_unit-e-desktop_security" {
+ repository = "unit-e-desktop"
+ name = "security"
+ description = "A security related issue"
+ color = "87b6fe"
+}
+
+resource "github_issue_label" "dtr-org_unit-e-desktop_technical_debt" {
+ repository = "unit-e-desktop"
+ name = "technical debt"
+ description = "Cleaning up code which is there for historical reasons"
+ color = "77acfe"
+}
+
+resource "github_issue_label" "dtr-org_unit-e-desktop_tests" {
+ repository = "unit-e-desktop"
+ name = "tests"
+ description = "Automated tests"
+ color = "66a1fe"
+}
+
+resource "github_issue_label" "dtr-org_unit-e-desktop_usability" {
+ repository = "unit-e-desktop"
+ name = "usability"
+ description = ""
+ color = "3382fe"
+}
+
+resource "github_issue_label" "dtr-org_unit-e-desktop_linux" {
+ repository = "unit-e-desktop"
+ name = "linux"
+ description = ""
+ color = "9a6af2"
+}
+
+resource "github_issue_label" "dtr-org_unit-e-desktop_windows" {
+ repository = "unit-e-desktop"
+ name = "windows"
+ description = ""
+ color = "9a6af2"
+}
+
+resource "github_issue_label" "dtr-org_unit-e-desktop_mac" {
+ repository = "unit-e-desktop"
+ name = "mac"
+ description = ""
+ color = "9a6af2"
+}
+
+resource "github_issue_label" "dtr-org_unit-e-desktop_good_first_issue" {
+ repository = "unit-e-desktop"
+ name = "good first issue"
+ description = "Good for newcomers"
+ color = "a0f324"
+}
+
+resource "github_issue_label" "dtr-org_unit-e-project_wip" {
+ repository = "unit-e-project"
+ name = "wip"
+ description = "Work in progress which is not supposed to be merged yet"
+ color = "666666"
+}
+
+resource "github_issue_label" "dtr-org_unit-e-project_bug" {
+ repository = "unit-e-project"
+ name = "bug"
+ description = "A problem of existing functionality"
+ color = "d73a4a"
+}
+
+resource "github_issue_label" "dtr-org_unit-e-project_feature" {
+ repository = "unit-e-project"
+ name = "feature"
+ description = "New functionality"
+ color = "38d33d"
+}
+
+resource "github_issue_label" "dtr-org_unit-e-project_decision" {
+ repository = "unit-e-project"
+ name = "decision"
+ description = "Take a decision and document it as ADR"
+ color = "dceaff"
+}
+
+resource "github_issue_label" "dtr-org_unit-e-project_documentation" {
+ repository = "unit-e-project"
+ name = "documentation"
+ description = "Documentation"
+ color = "a9cbff"
+}
+
+resource "github_issue_label" "dtr-org_unit-e-project_repo" {
+ repository = "unit-e-project"
+ name = "repo"
+ description = "Configuration of the repository itself"
+ color = "98c0ff"
+}
+
+resource "github_issue_label" "dtr-org_unit-e-project_open_sourcing" {
+ repository = "unit-e-project"
+ name = "open sourcing"
+ description = "Task related to setting up the open source project"
+ color = "7fe214"
+}
+
+resource "github_issue_label" "dtr-org_unit-e-project_process" {
+ repository = "unit-e-project"
+ name = "process"
+ description = "About the way we work"
+ color = "86edee"
+}
diff --git a/github/labels/labels.yaml b/github/labels/labels.yaml
new file mode 100644
index 000000000..6508f0f9c
--- /dev/null
+++ b/github/labels/labels.yaml
@@ -0,0 +1,227 @@
+org: dtr-org
+shared:
+ - &welcome
+ name: Welcome
+ labels:
+ - name: good first issue
+ color: a0f324
+ description: Good for newcomers
+ id: good_first_issue
+ - &wip_color '666666'
+repos:
+- repo: unit-e-clonemachine
+ categories:
+ - name: Status
+ labels:
+ - name: wip
+ color: *wip_color
+ description: Work in progress which is not supposed to be merged yet
+ id: wip
+ - name: Type
+ labels:
+ - name: bug
+ color: d73a4a
+ description: A problem of existing functionality
+ id: bug
+ - name: feature
+ color: 38d33d
+ description: New functionality
+ id: feature
+ - name: refactoring
+ color: 54d958
+ description: Changes which clean up code but don't change the user-visible behavior
+ id: refactoring
+ - name: Category
+ labels:
+ - name: technical debt
+ color: 77acfe
+ description: 'Cleaning up code which is there for historical reasons'
+ id: technical_debt
+ - name: tests
+ color: 66a1fe
+ description: 'Automated tests'
+ id: tests
+ - *welcome
+- repo: docs.unit-e.io
+ categories:
+ - name: Status
+ labels:
+ - name: wip
+ color: *wip_color
+ description: Work in progress which is not supposed to be merged yet
+ id: wip
+ - name: backport
+ color: f7ca96
+ description: Feature should be contributed to bitcoin
+ id: backport
+ - name: backported
+ color: f7931a
+ description: Feature has been merged into bitcoin also
+ id: backported
+ - name: Type
+ labels:
+ - name: bug
+ color: d73a4a
+ description: A problem of existing functionality
+ id: bug
+ - name: feature
+ color: 38d33d
+ description: New functionality
+ id: feature
+ - name: Category
+ labels:
+ - name: presentation
+ color: dceaff
+ description: Styling, navigation, structure, etc.
+ id: presentation
+ - name: repo
+ color: 98c0ff
+ description: Configuration of the repository itself
+ id: repo
+ - name: language
+ color: 77acfe
+ description: English language, grammar, spelling, style, etc.
+ id: language
+ - name: Component
+ color: ffcc00
+ labels:
+ - name: developer docs
+ description: ''
+ id: developer_docs
+ - name: operator docs
+ description: ''
+ id: operator_docs
+ - name: user docs
+ description: ''
+ id: user_docs
+ - name: glossary
+ description: ''
+ id: glossary
+ - *welcome
+- repo: unit-e-desktop
+ categories:
+ - name: Status
+ labels:
+ - name: wip
+ color: *wip_color
+ description: Work in progress which is not supposed to be merged yet
+ id: wip
+ - name: Type
+ labels:
+ - name: bug
+ color: d73a4a
+ description: A problem of existing functionality
+ id: bug
+ - name: feature
+ color: 38d33d
+ description: New functionality
+ id: feature
+ - name: refactoring
+ color: 54d958
+ description: Changes which clean up code but don't change the user-visible behavior
+ id: refactoring
+ - name: performance
+ color: 6fdf73
+ description: 'Affecting the performance of the software'
+ id: performance
+ - name: broken test
+ color: dd5664
+ description: A test isn't working
+ id: broken_test
+ - name: floating test
+ color: e2727e
+ description: A test that sometimes but not always fails
+ id: floating_test
+ - name: Category
+ labels:
+ - name: build
+ color: dceaff
+ description: Build system
+ id: build
+ - name: ci
+ color: cbdfff
+ description: Continuous integration
+ id: ci
+ - name: style
+ color: bad5ff
+ description: Code style and naming
+ id: style
+ - name: documentation
+ color: a9cbff
+ description: Documentation
+ id: documentation
+ - name: repo
+ color: 98c0ff
+ description: Configuration of the repository itself
+ id: repo
+ - name: security
+ color: 87b6fe
+ description: A security related issue
+ id: security
+ - name: technical debt
+ color: 77acfe
+ description: 'Cleaning up code which is there for historical reasons'
+ id: technical_debt
+ - name: tests
+ color: 66a1fe
+ description: 'Automated tests'
+ id: tests
+ - name: usability
+ color: 3382fe
+ description: ''
+ id: usability
+ - name: Platform
+ color: 9a6af2
+ labels:
+ - name: linux
+ description: ''
+ id: linux
+ - name: windows
+ description: ''
+ id: windows
+ - name: mac
+ description: ''
+ id: mac
+ - *welcome
+- repo: unit-e-project
+ categories:
+ - name: Status
+ labels:
+ - name: wip
+ color: *wip_color
+ description: Work in progress which is not supposed to be merged yet
+ id: wip
+ - name: Type
+ labels:
+ - name: bug
+ color: d73a4a
+ description: A problem of existing functionality
+ id: bug
+ - name: feature
+ color: 38d33d
+ description: New functionality
+ id: feature
+ - name: Category
+ labels:
+ - name: decision
+ color: dceaff
+ description: Take a decision and document it as ADR
+ id: decision
+ - name: documentation
+ color: a9cbff
+ description: Documentation
+ id: documentation
+ - name: repo
+ color: 98c0ff
+ description: Configuration of the repository itself
+ id: repo
+ - name: Areas
+ labels:
+ - name: open sourcing
+ color: 7fe214
+ description: Task related to setting up the open source project
+ id: open_sourcing
+ - name: process
+ color: 86edee
+ description: About the way we work
+ id: process