In publisher script add timeout parameter with default value.
diff --git a/aptly/files/aptly_publish_update.sh b/aptly/files/aptly_publish_update.sh
index 4ff2dd3..536e1aa 100644
--- a/aptly/files/aptly_publish_update.sh
+++ b/aptly/files/aptly_publish_update.sh
@@ -12,6 +12,7 @@
 RECREATE=0
 FORCE_OVERWRITE=0
 PUBLISHER_OPTIONS=""
+TIMEOUT=3600
 COMMAND=`basename $0`
 
 ## Functions ## ============================
@@ -48,6 +49,7 @@
     -c ... cleanup unused snapshots
     -r ... drop publish and create it again, the only way to add new components
     -f ... overwrite files in pool directory without notice
+    -t ... publisher timeout in seconds [3600]
 
 EOF
     exit
@@ -73,6 +75,7 @@
                 r) RECREATE=1 ;;
                 f) FORCE_OVERWRITE=1 ;;
                 u) URL=$2; shift ;;
+                t) TIMEOUT=$2; shift ;;
             esac
             r=$(expr substr $r 2 255)
         done
@@ -96,7 +99,7 @@
      PUBLISHER_OPTIONS+=" --force-overwrite"
 fi
 
-aptly-publisher --timeout=1200 publish -v -c /etc/aptly/publisher.yaml --url ${URL} --architectures amd64 $PUBLISHER_OPTIONS
+aptly-publisher --timeout=${TIMEOUT} publish -v -c /etc/aptly/publisher.yaml --url ${URL} --architectures amd64 $PUBLISHER_OPTIONS
 
 if [[ $? -ne 0 ]]; then
     log_error "Aptly publisher failed."