diff --git a/ansible/roles/local-flux/files/Chart.yaml b/ansible/roles/local-flux/files/Chart.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..65f31ac167e1b6a9c9be73a6a091373d2dd7fb0e
--- /dev/null
+++ b/ansible/roles/local-flux/files/Chart.yaml
@@ -0,0 +1,6 @@
+apiVersion: v1
+name: local-flux
+version: 0.1.0
+description: |
+  Sets up an nginx deployment to serve a git repo (stored on local
+  disk) via http
diff --git a/ansible/roles/local-flux/files/nginx.yaml b/ansible/roles/local-flux/files/nginx.yaml
index 7104dfa2250397dcb30110995cf8dd7488b45854..a61cd82cd37ddf6f8e1489f2c554a76f8ad0ff71 100644
--- a/ansible/roles/local-flux/files/nginx.yaml
+++ b/ansible/roles/local-flux/files/nginx.yaml
@@ -1,7 +1,7 @@
 apiVersion: v1
 kind: PersistentVolume
 metadata:
-  name: local-flux-data
+  name: {{ .Release.Name }}-data
   labels:
     type: local
 spec:
@@ -11,17 +11,17 @@ spec:
   accessModes:
     - ReadOnlyMany
   hostPath:
-    path: "/var/lib/OpenAppStack/local-flux"
+    path: "{{ .Values.local_flux_directory }}"
 ---
 apiVersion: v1
 kind: PersistentVolumeClaim
 metadata:
   namespace: oas
-  name: local-flux-data
+  name: {{ .Release.Name }}-data
 spec:
   storageClassName: ""
   # Make sure this claims uses the persistent volume describe above.
-  volumeName: "local-flux-data"
+  volumeName: {{ .Release.Name }}-data
   accessModes:
     - ReadOnlyMany
   resources:
@@ -32,38 +32,38 @@ apiVersion: apps/v1
 kind: Deployment
 metadata:
   namespace: oas
-  name: local-flux
+  name: {{ .Release.Name }}
 spec:
   selector:
     matchLabels:
-      app: local-flux
+      app: {{ .Release.Name }}
   replicas: 1
   template:
     metadata:
       labels:
-        app: local-flux
+        app: {{ .Release.Name }}
     spec:
       containers:
-      - name: local-flux-nginx
-        image: nginx:1.17-alpine
+      - name: {{ .Release.Name }}-nginx
+        image: nginx:{{ .Values.nginx.image.tag }}
         ports:
         - containerPort: 80
         volumeMounts:
         - mountPath: "/usr/share/nginx/html"
-          name: local-flux-data
+          name: {{ .Release.Name }}-data
       volumes:
-      - name: local-flux-data
+      - name: {{ .Release.Name }}-data
         persistentVolumeClaim:
-          claimName: local-flux-data
+          claimName: {{ .Release.Name }}-data
 ---
 apiVersion: v1
 kind: Service
 metadata:
   namespace: oas
-  name: local-flux
+  name: {{ .Release.Name }}
 spec:
   selector:
-    app: local-flux
+    app: {{ .Release.Name }}
   ports:
     - protocol: TCP
       port: 80
diff --git a/ansible/roles/local-flux/files/values.yaml b/ansible/roles/local-flux/files/values.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..c9d504f4bc356be2e58c70f65b16f97db911cf2a
--- /dev/null
+++ b/ansible/roles/local-flux/files/values.yaml
@@ -0,0 +1,6 @@
+# Directory on node where the HelmRelease files are stored.
+local_flux_directory: "/var/lib/OpenAppStack/local-flux"
+
+nginx:
+  image:
+    tag: "1.17-alpine"
diff --git a/ansible/roles/local-flux/tasks/main.yml b/ansible/roles/local-flux/tasks/main.yml
index cfd9d6b9cc1df4ec03b28c6f9430d2d11b690591..00e5a4257ff302478c78db13ab37d3269de8550e 100644
--- a/ansible/roles/local-flux/tasks/main.yml
+++ b/ansible/roles/local-flux/tasks/main.yml
@@ -40,12 +40,33 @@
     when: helmreleases.changed
     become: true
 
-  - name: Deploy local flux nginx
+  - name: Create local-flux helm chart directory
     tags:
       - flux
-    k8s:
-      state: present
-      definition: "{{ lookup('file', 'nginx.yaml') }}"
+    file:
+      path: "/var/lib/OpenAppStack/source/local-flux/templates"
+      state: directory
+    become: true
+
+  - name: Copy local-flux helm chart to server
+    tags:
+      - flux
+    copy:
+      src: "{{ item.file }}"
+      dest: "/var/lib/OpenAppStack/source/local-flux/{{ item.subdir }}/{{ item.file }}"
+    with_items:
+      - file: "nginx.yaml"
+        subdir: "templates"
+      - file: "values.yaml"
+        subdir: "."
+      - file: "Chart.yaml"
+        subdir: "."
+    become: true
+
+  - name: Install local-flux helm chart
+    tags:
+      - flux
+    shell: helm install --namespace=oas --name=local-flux /var/lib/OpenAppStack/source/local-flux
   
   vars:
     repo: "/var/lib/OpenAppStack/local-flux"