diff --git a/Dockerfile b/Dockerfile
index 1b1b8de09679bf854f542a6da3805ce1ff2c4a00..2fc260fe1f16c6d992422e6b3bf3bcf90711ec33 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -3,13 +3,17 @@ FROM registry.cyberbrain.pw/docker/git-sync:latest
 ENV GIT_SYNC_ROOT='/tmp/git' \
     GIT_SYNC_DEST='sync' \
     GIT_SYNC_EXECHOOK_COMMAND='/rsync-sync' \
-    GIT_SYNC_ADD_USER='true'
+    GIT_SYNC_ADD_USER='true' \
+    RSYNC_SYNC_WEBHOOK_METHOD='POST' \
+    RSYNC_SYNC_WEBHOOK_TIMEOUT=1 \
+    RSYNC_SYNC_WEBHOOK_BACKOFF=3 \
+    RSYNC_SYNC_WEBHOOK_ATTEMPTS=3
 
 USER root:root
 
 RUN set -ex \
     && apt-get update -y \
-    && apt-get install --no-install-recommends -y rsync \
+    && apt-get install --no-install-suggests --no-install-recommends -y rsync curl \
     && apt-get clean -y \
     && rm -rf /var/lib/apt/lists/* \
     && chmod -Rv 0777 "${GIT_SYNC_ROOT:-/tmp/git}/"
diff --git a/README.md b/README.md
index 72109acbcae3ea05540da19e92c888b7328c7018..9697c9713ce7f33a604f0df6d5e478459bbc5357 100644
--- a/README.md
+++ b/README.md
@@ -11,3 +11,10 @@ Preset env vars:
 - GIT_SYNC_DEST='sync'
 - GIT_SYNC_EXECHOOK_COMMAND='/rsync-sync'
 - GIT_SYNC_ADD_USER='true'
+- RSYNC_SYNC_WEBHOOK_METHOD='POST'
+- RSYNC_SYNC_WEBHOOK_TIMEOUT=1
+- RSYNC_SYNC_WEBHOOK_BACKOFF=3
+- RSYNC_SYNC_WEBHOOK_ATTEMPTS=3
+
+Custom env vars:
+- RSYNC_SYNC_WEBHOOK_URL
diff --git a/rsync-sync b/rsync-sync
index 1df8a19694c82c752d8703a16030a4a8f7a36541..a98e412030a7afd436e0e616b94570eb655abb80 100644
--- a/rsync-sync
+++ b/rsync-sync
@@ -6,3 +6,12 @@ rsync -a \
     --delete-after \
     "${GIT_SYNC_ROOT:-/tmp/git}/${GIT_SYNC_DEST:-sync}/" \
     /sync
+
+if test -n "${RSYNC_SYNC_WEBHOOK_URL}"; then
+    curl -I -L \
+        -X ${RSYNC_SYNC_WEBHOOK_METHOD:-POST} \
+        -m ${RSYNC_SYNC_WEBHOOK_TIMEOUT:-1} \
+        --retry ${RSYNC_SYNC_WEBHOOK_ATTEMPTS:-3} \
+        --retry-delay ${RSYNC_SYNC_WEBHOOK_BACKOFF:-3} \
+        "${RSYNC_SYNC_WEBHOOK_URL}"
+fi