diff --git a/.flake8 b/.flake8
new file mode 100644
index 0000000000000000000000000000000000000000..24b8764c064fe8a308b7ca77c99b41f4a4c1a0a3
--- /dev/null
+++ b/.flake8
@@ -0,0 +1,4 @@
+[flake8]
+ignore = E501, E203, W503
+# E501, E203: black
+# W503: PEP8
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a54104a0bec649991e26645314caf525b55afd5d..a1dea3d9af33c2bc54297c2bc005e12f9d8e79b4 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,5 +1,4 @@
 ---
-
 stages:
   - check
   - build
@@ -13,6 +12,12 @@ default:
 
 ### stage: check
 
+run pre-commit:
+  stage: check
+  image: registry.esss.lu.se/ics-docker/pre-commit:latest
+  script:
+    - pre-commit run --all-files
+
 shellcheck:
   image: pipelinecomponents/shellcheck:latest
   stage: check
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index bb60d25257a6cfd559bdbfb6f52c1040d9c49dd5..a09508ede190c8bdfa5e43f596c427297c33cbfb 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -1,19 +1,19 @@
 repos:
   - repo: https://github.com/ambv/black
-    rev: 21.6b0
+    rev: 21.11b1
     hooks:
       - id: black
-  - repo: https://github.com/pre-commit/pre-commit-hooks
-    rev: v2.3.0
+  - repo: https://gitlab.com/PyCQA/flake8
+    rev: 3.9.2
     hooks:
-      - id: flake8
+    -   id: flake8
   - repo: https://github.com/pre-commit/pre-commit-hooks
     rev: v4.0.1
     hooks:
       - id: end-of-file-fixer
       - id: trailing-whitespace
   - repo: https://github.com/timothycrosley/isort
-    rev: 5.9.1
+    rev: 5.10.1
     hooks:
     - id: isort
       args: ["--profile", "black"]