diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d01ca6c33a149b76c6110947dd29efa4d0e39702..39afe4cc6c078828b515a22617fea110637c7bb9 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,45 +1,16 @@
 ---
-image: adarnimrod/ci-images:docker
-
-stages:
-  - test
-  - build
-
-pre-commit:
-  stage: test
-  image: adarnimrod/ci-images:pre-commit
-  variables:
-    XDG_CACHE_HOME: "$CI_PROJECT_DIR/.cache"
-    # Disabled until https://github.com/pre-commit/pre-commit/issues/1387 is
-    # resolved.
-    SKIP: "hadolint,docker-compose"
-  script:
-    - pre-commit run --all-files
-  cache:
-    paths:
-      - .cache/
+include:
+  - project: shore/ci-templates
+    file: templates/docker-compose.yml
 
 build-host01:
-  stage: build
-  tags:
-    - host01.shore.co.il
-  variables: &build_vars
-    COMPOSE_DOCKER_CLI_BUILD: "1"
-    DOCKER_BUILDKIT: "1"
-  script: &build_script
-    - docker-compose build --no-cache --pull
-    - docker-compose pull --quiet
-
-build-kodi:
-  stage: build
-  tags:
-    - kodi.shore.co.il
-  variables: *build_vars
-  script: *build_script
+  extends: .compose-build
+  tags: [host01.shore.co.il]
 
 build-ns4:
-  stage: build
-  tags:
-    - ns4.shore.co.il
-  variables: *build_vars
-  script: *build_script
+  extends: .compose-build
+  tags: [ns4.shore.co.il]
+
+build-kodi:
+  extends: .compose-build
+  tags: [kodi.shore.co.il]
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index f214fdca6a25a450f9386d8ad2c835689d92bed5..13d68fd1fc7fdca9e758d5db887f1b23ee812b77 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -1,34 +1,48 @@
-# vim:ff=unix ts=2 sw=2 ai expandtab
 ---
 repos:
-  - repo: https://github.com/pre-commit/pre-commit-hooks
-    rev: v2.3.0
+  - repo: https://github.com/pre-commit/pre-commit-hooks.git
+    rev: v3.4.0
     hooks:
       - id: check-added-large-files
+      - id: check-executables-have-shebangs
       - id: check-merge-conflict
-      - id: detect-private-key
+      - id: check-symlinks
       - id: trailing-whitespace
+
+  - repo: https://github.com/Yelp/detect-secrets
+    rev: v0.14.3
+    hooks:
+      - id: detect-secrets
+
   - repo: https://github.com/adrienverge/yamllint
-    rev: v1.17.0
+    rev: v1.25.0
     hooks:
       - id: yamllint
+
   - repo: https://github.com/amperser/proselint/
     rev: 0.10.2
     hooks:
       - id: proselint
         types: [plain-text]
         exclude: LICENSE
-  - repo: https://github.com/Yelp/detect-secrets
-    rev: v0.13.0
-    hooks:
-      - id: detect-secrets
-  - repo: https://git.shore.co.il/nimrod/docker-pre-commit.git/
-    rev: v0.3.0
+
+  - repo: https://github.com/executablebooks/mdformat.git
+    rev: 0.5.3
     hooks:
-      - id: docker-compose
-      - id: hadolint
+      - id: mdformat
+
   - repo: https://git.shore.co.il/nimrod/shell-pre-commit.git
-    sha: v0.6.0
+    rev: v0.6.0
     hooks:
       - id: shell-lint
+
+  - repo: https://github.com/shellcheck-py/shellcheck-py.git
+    rev: v0.7.1.1
+    hooks:
       - id: shellcheck
+
+  - repo: https://git.shore.co.il/nimrod/docker-pre-commit.git/
+    rev: v0.3.0
+    hooks:
+      - id: hadolint
+      - id: docker-compose
diff --git a/README.md b/README.md
index cade3a6af0968631a0b8fa970348209a82405d70..a0ff0315034d26148b6dac5a1ae788a1b7b0efe8 100644
--- a/README.md
+++ b/README.md
@@ -25,8 +25,7 @@ This software is licensed under the MIT license (see `LICENSE.txt`).
 
 ## Author Information
 
-Nimrod Adar, [contact me](mailto:nimrod@shore.co.il) or visit my [website](
-https://www.shore.co.il/). Patches are welcome via [`git send-email`](
-http://git-scm.com/book/en/v2/Git-Commands-Email). The repository is located
-at: <https://www.shore.co.il/git/>.
-
+Nimrod Adar, [contact me](mailto:nimrod@shore.co.il) or visit my
+[website](https://www.shore.co.il/). Patches are welcome via
+[`git send-email`](http://git-scm.com/book/en/v2/Git-Commands-Email). The repository
+is located at: <https://git.shore.co.il/expore/>.
diff --git a/crond/README.md b/crond/README.md
index 9ea96a58ddd4323b655cc37a77b98890fe63307d..69c49dda89ed5b35211ec726f7dba8c4bb571efc 100644
--- a/crond/README.md
+++ b/crond/README.md
@@ -14,7 +14,7 @@ This software is licensed under the MIT license (see `LICENSE.txt`).
 
 ## Author Information
 
-Nimrod Adar, [contact me](mailto:nimrod@shore.co.il) or visit my [website](
-https://www.shore.co.il/). Patches are welcome via [`git send-email`](
-http://git-scm.com/book/en/v2/Git-Commands-Email). The repository is located
-at: <https://git.shore.co.il/nimrod/>.
+Nimrod Adar, [contact me](mailto:nimrod@shore.co.il) or visit my
+[website](https://www.shore.co.il/). Patches are welcome via
+[`git send-email`](http://git-scm.com/book/en/v2/Git-Commands-Email). The repository
+is located at: <https://git.shore.co.il/expore/>.