diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 108bfc689aebd2e17c9f8dc9419da57f9316f65e..5d3b5355c21594d60cbfd09fed6257c1c308f709 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,3 +1,8 @@
+---
+include:
+  - project: funkwhale/ci
+    file: /templates/pre-commit.yml
+
 stages:
   - lint
   - test
@@ -11,19 +16,7 @@ variables:
   DOCKER_TLS_CERTDIR: ""
 
 pre-commit:
-  stage: lint
-  image: python:3.11
-  variables:
-    PIP_CACHE_DIR: $CI_PROJECT_DIR/.cache/pip
-    PRE_COMMIT_HOME: $CI_PROJECT_DIR/.cache/pre-commit
-  cache:
-    paths:
-      - $PIP_CACHE_DIR
-      - $PRE_COMMIT_HOME
-  before_script:
-    - pip3 install pre-commit
-  script:
-    - pre-commit run --verbose --all --color=always --show-diff-on-failure
+  extends: [.pre-commit]
 
 #tests:
 #  stage: test