diff --git a/deploy_stack.ps1 b/deploy_stack.ps1
index 276e269cbb9d004f9835deb36d02ecf78b8aade6..91d4998f660414c0bae63dd1f71c47fc9c460ddf 100644
--- a/deploy_stack.ps1
+++ b/deploy_stack.ps1
@@ -2,33 +2,41 @@
 
 if (Get-Command docker -errorAction SilentlyContinue)
 {
-
-    $user_secret = "basic-auth-user"
-    docker secret inspect $user_secret 2>&1 | out-null
+    docker node ls 2>&1 | out-null
     if($?)
     {
-        Write-Host "$user_secret secret exists"
-    }
-    else
-    {
-        $user = Read-Host 'Admin User?'
-        $user | docker secret create $user_secret -
-    }
+        $user_secret = "basic-auth-user"
+        docker secret inspect $user_secret 2>&1 | out-null
+        if($?)
+        {
+            Write-Host "$user_secret secret exists"
+        }
+        else
+        {
+            $user = Read-Host 'Admin User?'
+            $user | docker secret create $user_secret -
+        }
 
-    $password_secret = "basic-auth-password"
-    docker secret inspect $password_secret 2>&1 | out-null
-    if($?)
-    {
-        Write-Host "$password_secret secret exists"
+        $password_secret = "basic-auth-password"
+        docker secret inspect $password_secret 2>&1 | out-null
+        if($?)
+        {
+            Write-Host "$password_secret secret exists"
+        }
+        else
+        {
+            $pass = Read-Host 'Password?' -AsSecureString
+            [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($pass)) | docker secret create $password_secret -
+        }
+
+        Write-Host "Deploying stack"
+        docker stack deploy func --compose-file ./docker-compose.yml
+    
     }
     else
     {
-        $pass = Read-Host 'Password?' -AsSecureString
-        [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($pass)) | docker secret create $password_secret -
+        Write-Host "Docker not in swarm mode, please initialise the cluster (`docker swarm init`) and retry"
     }
-
-    Write-Host "Deploying stack"
-    docker stack deploy func --compose-file ./docker-compose.yml
 }
 else
 {