diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..7c38ad257ffcabd9bcd5488c13b6c47d2c00cc9b
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,10 @@
+before_script:
+  - node --version
+  - ./configure.sh
+
+upload:
+  script:
+    - ./upload
+
+# Needs following env var: LFTP_PASSWORD
+
diff --git a/upload b/upload
index b79177939d346e86e06353600cf34ca1c71dfa82..f7ea1bf143b10981ce348142fdd85c840c6313e5 100755
--- a/upload
+++ b/upload
@@ -7,19 +7,32 @@ fi
 
 rm -rf build
 mkdir -p build/theme
-node index.js --noserver
+time node index.js --noserver
 echo "Site compiled"
 chmod a+X build -R
 
 USER=ok1kvk.cz-www-nove
-HOST=ok1kvk.cz
+HOST=krios.blueboard.cz
+MAX_RETRIES=2
+RECONNECT_INTERVAL=5
 
 echo "======================================================================"
 echo "Uploading to nove.ok1kvk.cz"
-if [ $1 == "ftp" ]; then
+if [ "$1" == "ftp" ]; then
     echo "Using FTP"
-    lftp -c "set ftp:ssl-allow no;open --user ok1kvk.cz-www-nove --env-password ftp://ftp.ok1kvk.cz/; mirror -c --verbose=9 -e -R -L ./build /"
+    time lftp -c "set cmd:fail-exit yes;\
+                  set net:timeout 5;\
+                  set net:reconnect-interval-base $RECONNECT_INTERVAL;\
+                  set net:max-retries $MAX_RETRIES;\
+                  set ftp:ssl-allow no;\
+                  open --user $USER --env-password ftp://$HOST/;\
+                  mirror -c --verbose=9 -e -R -L ./build /"
 else
     echo "Using SFTP"
-    lftp -c "set ftp:ssl-allow no;open --user ok1kvk.cz-www-nove --env-password -p 2121 sftp://ftp.ok1kvk.cz/; mirror -c --verbose=9 -e -R -L ./build /"
+    time lftp -c "set cmd:fail-exit yes;\
+                  set net:timeout 5;\
+                  set net:reconnect-interval-base $RECONNECT_INTERVAL;\
+                  set net:max-retries $MAX_RETRIES;\
+                  open --user $USER --env-password -p 2121 sftp://$HOST/;\
+                  mirror -c --verbose=9 -e -R -L ./build /"
 fi