diff --git a/CHANGELOG.md b/CHANGELOG.md
index 341a8bfa29ed90ce643e9575df0759fe55064a72..cda2fb141d079793831f422e52935fe2c2da7a81 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file.
 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
 and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
 
-## [1.1.0] - 2024-01-09
+## [1.1.0] - 2025-01-09
 
 ### Added
 
diff --git a/docker-compose.yaml b/docker-compose.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..2bf1a85025bbf6e630ddd7c203798d71792d520c
--- /dev/null
+++ b/docker-compose.yaml
@@ -0,0 +1,28 @@
+version: '3.8'
+services:
+  lint:
+    image: node
+    command: >
+      sh -c "
+      npm install -g markdownlint markdownlint-cli &&
+      markdownlint '**/*.md' --ignore node_modules | tee lint.log
+      "
+    volumes:
+      - .:/app
+      - /app/node_modules
+  ruff:
+    image: python:3.10
+    command: >
+      bash -c "
+      apt-get update &&
+      apt-get install -y libgdal-dev &&
+      python3 -m pip install --user pipx &&
+      python3 -m pipx ensurepath &&
+      source ~/.bashrc &&
+      pipx install poetry &&
+      poetry install &&
+      poetry run ruff check .
+      "
+    volumes:
+      - .:/app
+    working_dir: /app