diff --git a/.gitlab-ci/setup-container.sh b/.gitlab-ci/setup-container.sh
index c7ca6426c3ab..6c4b439b887b 100755
--- a/.gitlab-ci/setup-container.sh
+++ b/.gitlab-ci/setup-container.sh
@@ -132,6 +132,8 @@ case $FDO_DISTRIBUTION_VERSION in
 		python3-sphinxcontrib.doxylink
 		texlive-latex-extra
 	)
+	# Packages required to deploy the documentation
+	PKGS_LIBCAMERA_RUNTIME+=( openssh-client rsync )
 	# Tools requires by the lint jobs.
 	PKGS_LIBCAMERA_RUNTIME+=( clang-format jq python3-autopep8 reuse shellcheck )
 	# libclang-rt-dev for the clang ASan runtime.
diff --git a/gitlab-ci.yml b/gitlab-ci.yml
index 468f5769eb87..9bbceae38a27 100644
--- a/gitlab-ci.yml
+++ b/gitlab-ci.yml
@@ -5,6 +5,7 @@ stages:
   - build
   - lint
   - test
+  - deploy
 
 variables:
   FDO_UPSTREAM_REPO: 'camera/libcamera'
@@ -74,7 +75,7 @@ include:
 .libcamera-ci.debian:13:
   variables:
     FDO_DISTRIBUTION_VERSION: 'trixie'
-    FDO_DISTRIBUTION_TAG: '2026-04-24.0'
+    FDO_DISTRIBUTION_TAG: '2026-05-06.0'
 
 .container-debian:
   extends:
@@ -437,3 +438,35 @@ test-lc-compliance:virtual:
   artifacts:
     reports:
       junit: build/lc-compliance-report.xml
+
+# ------------------------------------------------------------------------------
+# Deploy stage - deploy docs if we are building master or a tag
+# ------------------------------------------------------------------------------
+
+deploy-docs:
+  extends:
+    - .fdo.distribution-image@debian
+    - .libcamera-ci.debian:13
+    - .libcamera-ci.scripts
+  rules:
+    - if: $CI_COMMIT_BRANCH == "master"
+    - if: $CI_COMMIT_TAG
+  environment: deploy
+  stage: deploy
+  needs:
+    - job: build-docs
+  script:
+    - |
+      mkdir -p ~/.ssh
+      chmod 700 ~/.ssh
+      echo "${DEPLOY_SSH_KEY_BASE64}" | base64 --decode > ~/.ssh/id_ed25519
+      chmod 600 ~/.ssh/id_ed25519
+      echo "${DEPLOY_KNOWN_HOSTS}" > ~/.ssh/known_hosts
+
+    - |
+      rsync -rlz --delete --chmod=Do=rx,Fo=r \
+          --exclude .doctrees \
+          --exclude .buildinfo \
+          --exclude objects.inv \
+          build/docs/ \
+          deploy@docs.libcamera.org:/$CI_COMMIT_REF_NAME
