diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..6a10fba124e54ff0440a28951aa9aaf34f9a7d0d
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,26 @@
+image: ruby:2.4
+
+environment:
+  PROJECTS: "funkwhale/funkwhale funkwhale/funkwhale.audio"
+
+stages:
+  - triage
+
+dry-run:triage:
+  stage: triage
+  script:
+    - export PROJECTS_ARRAY=($PROJECTS)
+    - gem install gitlab-triage
+    - gitlab-triage --help
+    - for proj in "${ArrayName[@]}"; do gitlab-triage --dry-run --token $API_TOKEN --source projects --source-id $proj --host-url https://dev.funkwhale.audio; done
+  when: manual
+  except:
+    - schedules
+
+run:triage:
+  stage: triage
+  script:
+    - gem install gitlab-triage
+    - gitlab-triage --dry-run --token $API_TOKEN --source projects --source-id $CI_PROJECT_PATH --host-url https://dev.funkwhale.audio
+  only:
+    - schedules
diff --git a/.triage-policies.yml b/.triage-policies.yml
new file mode 100644
index 0000000000000000000000000000000000000000..e553e01b4a0e36115321fff6d091b2a4a76eae41
--- /dev/null
+++ b/.triage-policies.yml
@@ -0,0 +1,202 @@
+
+resource_rules:
+  issues:
+    rules:
+      - name: New issues
+        conditions:
+          date:
+            attribute: updated_at
+            condition: older_than
+            interval_type: days
+            interval: 3
+          state: opened
+          labels:
+            - No Label
+        limits:
+          most_recent: 1
+        actions:
+          mention:
+            - funkwhale/steering-commitee
+          labels:
+            - "Status: Need triage"
+          comment: |
+            This issue is unlabelled after 3 days. It needs attention. Please take care of this before the end of #{2.days.from_now.strftime('%Y-%m-%d')}
+
+      - name: Untriaged issues
+        conditions:
+          date:
+            attribute: updated_at
+            condition: older_than
+            interval_type: days
+            interval: 5
+          state: opened
+          labels:
+            - "Status: Need triage"
+          no_additional_labels: true
+        limits:
+          most_recent: 1
+        actions:
+          mention:
+            - funkwhale/steering-commitee
+          comment: |
+            This issue is untriaged after 5 days. It needs attention. Please take care of this before the end of #{2.days.from_now.strftime('%Y-%m-%d')}
+
+      - name: Untriaged issues (close)
+        conditions:
+          date:
+            attribute: updated_at
+            condition: older_than
+            interval_type: days
+            interval: 7
+          state: opened
+          labels:
+            - "Status: Need triage"
+
+          no_additional_labels: true
+        limits:
+          most_recent: 1
+        actions:
+          comment: |
+            This issue is unlabelled after 7 days, and was closed automatically as such. Please label it and reopen itif it is still relevant.
+          status: close
+
+      - name: Inactive unscheduled issues (close)
+        conditions:
+          date:
+            attribute: updated_at
+            condition: older_than
+            interval_type: days
+            interval: 90
+          state: opened
+          milestone: none
+          upvotes:
+            attribute: upvotes
+            condition: less_than
+            threshold: 3
+        limits:
+          most_recent: 1
+        actions:
+          status: close
+          comment: |
+            Hi,
+
+            We're posting this message because this issue meets the following criteria:
+
+            * No activity in the past 90 days (since {{updated_at}})
+            * No milestone (unscheduled)
+            * Less than 3 upvotes
+
+            We're closing it to avoid cluttering the issue tracker, but if if you think
+            this issue is still relevant and needs to be acted upon, please reopen it.
+
+            Thanks!
+
+      - name: Inactive unscheduled issues (warn)
+        conditions:
+          date:
+            attribute: updated_at
+            condition: older_than
+            interval_type: days
+            interval: 60
+          state: opened
+          milestone: none
+          forbidden_labels:
+            - "Status: input wanted"
+        limits:
+          most_recent: 1
+        actions:
+          comment: |
+            Hi,
+
+            We're posting this message because this issue meets the following criteria:
+
+            * No activity in the past 60 days (since {{updated_at}})
+            * No milestone (unscheduled)
+
+            We'd like to ask you to help us out and determine how we should act on this issue.
+
+            If this issue is reporting a bug, please can you:
+
+            - Attempt to reproduce on the latest version of Funkwhale, to help us to understand whether the bug still needs attention.
+
+            If this issue is proposing a new feature, please can you:
+
+            - Verify whether the feature proposal is still relevant.
+
+            If no activity for this issue is found whithin the next 30 days, it will be closed automatically.
+
+            Thanks for your help! :heart:
+
+          labels:
+            - "Status: input wanted"
+
+  merge_requests:
+    rules:
+
+      - name: Inactive staled contributions (close)
+        conditions:
+          date:
+            attribute: updated_at
+            condition: older_than
+            interval_type: days
+            interval: 90
+          state: opened
+          milestone: none
+          upvotes:
+            attribute: upvotes
+            condition: less_than
+            threshold: 2
+        limits:
+          most_recent: 1
+        actions:
+          status: close
+          comment: |
+            Hi,
+
+            We're posting this message because this merge request meets the following criteria:
+
+            * No activity in the past 90 days (since {{updated_at}})
+            * No milestone (unscheduled)
+            * Less than 2 upvotes
+
+            We're closing it to avoid cluttering the issue tracker, but if if you think
+            this merge request is still relevant and needs to be acted upon, please reopen it.
+
+            Thanks!
+
+      - name: Stale contributions (warn)
+        conditions:
+          state: opened
+          forbidden_labels:
+            - "Status: input wanted"
+          date:
+            attribute: updated_at
+            condition: older_than
+            interval_type: days
+            interval: 60
+          milestone: none
+          forbidden_labels:
+            - "Status: input wanted"
+        actions:
+          mention:
+            - funkwhale/steering-commitee
+          comment: |
+            Hi,
+
+            We're posting this message because this merge request meets the following criteria:
+
+            * No activity in the past 60 days (since {{updated_at}})
+
+            We'd like to ask you to help us out and determine how we should act on this merge request:
+
+            - is it still a WIP?
+            - is it still relevant?
+            - is it missing some reviews?
+            - do you need help or guidance to proceed?
+
+            Some community members have been pinged and will have a look at it too.
+
+            Thanks for your help! :heart:
+
+          labels:
+            - "Status: input wanted"