diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e10ad528940f0f12c997023320bfcbd4c93f2b26..ebbabaa5199cfbd722457d2d16a5dd26f27e8174 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -74,3 +74,17 @@ deploy_prod_massive.org.au:
     - cp ./nginx_snippets/* /etc/nginx/snippets
   dependencies:
     - build
+
+deploy_prod_training.cloud.cvl.org.au:
+  stage: deploy
+  only:
+    - prod@hpc-team/strudelv2_spa
+  tags: 
+    - deploy_prod
+  script:
+    - echo "deploying prod_training.cloud.cvl.org.au" 
+    - ls -l
+    - ./install_training.cloud.cvl.org.au.sh
+    - cp ./nginx_snippets/* /etc/nginx/snippets
+  dependencies:
+    - build
diff --git a/install_training.cloud.cvl.org.au.sh b/install_training.cloud.cvl.org.au.sh
new file mode 100755
index 0000000000000000000000000000000000000000..ae9ad992145583e79950f9619ac3a75a0d49bc87
--- /dev/null
+++ b/install_training.cloud.cvl.org.au.sh
@@ -0,0 +1,7 @@
+mkdir -p /opt/strudel2/spa/sv2_training.cloud.cvl.org.au
+cp sv2_training.cloud.cvl.org.au.conf /etc/nginx/snippets
+cp -r dist/* /opt/strudel2/spa/sv2_training.cloud.cvl.org.au
+cp -r /opt/strudel2/spa/sv2_training.cloud.cvl.org.au/assets/config/apiservers.training_cloud_cvl_org_au.json /opt/strudel2/spa/sv2_training.cloud.cvl.org.au/assets/config/apiservers.json 
+cp -r /opt/strudel2/spa/sv2_training.cloud.cvl.org.au/assets/config/computesites.training_cloud_cvl_org_au.json /opt/strudel2/spa/sv2_training.cloud.cvl.org.au/assets/config/computesites.json 
+cp -r /opt/strudel2/spa/sv2_training.cloud.cvl.org.au/assets/config/authservers.training_cloud_cvl_org_au.json /opt/strudel2/spa/sv2_training.cloud.cvl.org.au/assets/config/authservers.json 
+echo "you must include /etc/nginx/snippets/sv2.conf in your nginx site config manually"
diff --git a/src/assets/config/apiservers.training_cloud_cvl_org_au.json b/src/assets/config/apiservers.training_cloud_cvl_org_au.json
new file mode 100644
index 0000000000000000000000000000000000000000..0ef6a770a579ac2a5514bbe1aaa49db9b9969f50
--- /dev/null
+++ b/src/assets/config/apiservers.training_cloud_cvl_org_au.json
@@ -0,0 +1,9 @@
+[
+    {
+        "name": "Monash",
+        "tes": "https://beta-api.cloud.cvl.org.au/tes",
+        "tws": "https://beta-api.cloud.cvl.org.au"
+    }
+]
+
+
diff --git a/src/assets/config/authservers.training_cloud_cvl_org_au.json b/src/assets/config/authservers.training_cloud_cvl_org_au.json
new file mode 100644
index 0000000000000000000000000000000000000000..3ca09b2d03353d583d770af54226bcaf04d14ad7
--- /dev/null
+++ b/src/assets/config/authservers.training_cloud_cvl_org_au.json
@@ -0,0 +1,15 @@
+[
+
+    {
+      "authorise": "https://sshauthz.cloud.cvl.org.au/pysshauthz/oauth2/oauth/authorize/choose",
+      "base": "https://sshauthz.cloud.cvl.org.au/pysshauthz/oauth2/",
+      "client_id": "Q96kt2Vtw6S78dpORktM81DH",
+      "sign": "https://sshauthz.cloud.cvl.org.au/pysshauthz/sign/monash_hpcid/api/v1/sign_key",
+      "logout": "https://sshauthz.cloud.cvl.org.au/pysshauthz/oauth2/logout",
+      "name": "Training@M3",
+      "icon": null,
+      "scope": "user:email",
+      "cafingerprint": "ECDSA SHA256:6wVXdokvvlTNcXPMc9KyvIXA8a8XNfLuhBfNOYeeMdg",
+      "desc": "<div>Training@M3 offers a reduced interface to M3.</div>"
+    }
+]
diff --git a/src/assets/config/computesites.training_cloud_cvl_org_au.json b/src/assets/config/computesites.training_cloud_cvl_org_au.json
new file mode 100644
index 0000000000000000000000000000000000000000..198d132601334bc5179c00d4103eaeaa37c0bf11
--- /dev/null
+++ b/src/assets/config/computesites.training_cloud_cvl_org_au.json
@@ -0,0 +1,14 @@
+[
+  {
+    "url": "https://beta-api.cloud.cvl.org.au/training/",
+    "name": "Training@M3",
+    "host": "m3.massive.org.au",
+    "dtn": "m3-dtn1.massive.org.au",
+    "cafingerprint": "ECDSA SHA256:6wVXdokvvlTNcXPMc9KyvIXA8a8XNfLuhBfNOYeeMdg",
+    "appCatalog": [],
+    "appCatalogCmd": "/usr/local/strudel2_cluster/latest/bin/getapps-training",
+    "cancelcmd": "/usr/local/strudel2_cluster/latest/bin/s2cancel {jobid}",
+    "statcmd": "/usr/local/strudel2_cluster/latest/bin/s2stat",
+    "userhealth": "/usr/local/bin/uitraining"
+  }
+]