diff --git a/ansible/roles/apps/tasks/flux.yml b/ansible/roles/apps/tasks/flux.yml
index 7419bab0ab71b625ce3f41bbb8ef60273e260d94..8047e23c9a2a50042f3e36ce00203a7429231d47 100644
--- a/ansible/roles/apps/tasks/flux.yml
+++ b/ansible/roles/apps/tasks/flux.yml
@@ -19,7 +19,7 @@
   #   helm-operator
   #   # Chart name
   #   helm-operator
-  shell: helm upgrade --install --repo "https://charts.fluxcd.io" --namespace oas --version 0.3.0 --set createCRD=true --set chartsSyncInterval=20m --set statusUpdateInterval=30s helm-operator helm-operator
+  shell: helm upgrade --install --repo "https://charts.fluxcd.io" --namespace oas --version 0.7.0 --set createCRD=true --set chartsSyncInterval=20m --set statusUpdateInterval=30s --set helm.versions=v2 helm-operator helm-operator
 
 - name: Create Kubernetes secret with local-storage settings
   tags:
diff --git a/ansible/roles/apps/templates/nextcloud-settings.yaml b/ansible/roles/apps/templates/nextcloud-settings.yaml
index 4844025c29a8171d60e551405e3f75cf54a12545..26c2fd5b0f4574b53eea481cbdb159cbf57e8e6b 100644
--- a/ansible/roles/apps/templates/nextcloud-settings.yaml
+++ b/ansible/roles/apps/templates/nextcloud-settings.yaml
@@ -2,6 +2,9 @@ nextcloud:
   nextcloud:
     host: "files.{{ domain }}"
     password: "{{ nextcloud_password }}"
+  cronjob:
+    # Set curl to accept insecure connections when acme staging is used
+    curlInsecure: "{{ acme_staging }}"
 
   ingress:
     enabled: true
@@ -94,6 +97,8 @@ rabbitmq:
     existingClaim: "nextcloud-rabbitmq"
 
 redis:
+  cluster:
+    enabled: false
   persistence:
     existingClaim: "nextcloud-redis"
 
diff --git a/flux/nextcloud.yaml b/flux/nextcloud.yaml
index 33ac7b0865e5ce8aaeebe1f79c472cdcbd8741f7..f8e483318c8598f7bc2d00ba7deb54704008bec0 100644
--- a/flux/nextcloud.yaml
+++ b/flux/nextcloud.yaml
@@ -11,10 +11,11 @@ spec:
   releaseName: nc
   chart:
     git: https://open.greenhost.net/openappstack/nextcloud
-    ref: b5f54e09a0fc29d3c041ecea0d9310c8283d4dae
+    ref: 2a19b8c65f7f1ebc24c3a875245c36f882e323f3
     path: .
   valuesFrom:
     - secretKeyRef:
         name: nextcloud-settings
         key: values.yaml
   timeout: 1800
+  wait: true
diff --git a/flux/wordpress.yaml b/flux/wordpress.yaml
index 3fa84bd5e32c4ad67d207f662c12a1481009007b..df98ecf28777e772758084f64b0ed62837aec2cc 100644
--- a/flux/wordpress.yaml
+++ b/flux/wordpress.yaml
@@ -9,7 +9,7 @@ spec:
   releaseName: wordpress
   chart:
     git: https://code.greenhost.net/open/wordpress-helm
-    ref: a114e276777b2e25357ff8307dfb712c3e7a9689
+    ref: 85ac49b0e4914c2902ae137464951046c9c2e0c2
     path: .
   valuesFrom:
     - secretKeyRef:
diff --git a/test/pytest/test_helmreleases.py b/test/pytest/test_helmreleases.py
index 5116668c5aa4e7686cdea3a2ea668b99c09a8598..4a02602f439f7ce42d900f8a9cf56ced57c8d9c1 100644
--- a/test/pytest/test_helmreleases.py
+++ b/test/pytest/test_helmreleases.py
@@ -94,7 +94,7 @@ def run_around_tests():
 def test_helmreleases(host):
     """
     Checks if all desired HelmReleases installed by weave flux are in
-    DEPLOYED state.
+    'deployed' state.
     """
     custom_objects = client.CustomObjectsApi()
 
@@ -103,9 +103,9 @@ def test_helmreleases(host):
     for namespace in EXPECTED_RELEASES:
         for app in EXPECTED_RELEASES[namespace]:
             app_status = get_release_status(app, namespace, custom_objects)
-            if app_status != 'DEPLOYED':
+            if app_status != 'deployed':
                 failed += 1
-    assert failed == 0, "Error: {} apps not 'DEPLOYED'!".format(failed)
+    assert failed == 0, "Error: {} apps not 'deployed'!".format(failed)
 
 
 @pytest.mark.apps_running