diff --git a/chart/templates/deployment-celery-worker.yaml b/chart/templates/celery-worker.yaml
similarity index 81%
rename from chart/templates/deployment-celery-worker.yaml
rename to chart/templates/celery-worker.yaml
index a2c545861a32929e6a7f0e4af416309159413384..471dc1b1ac48bf1e06c68490d3012c1ac99e5aef 100644
--- a/chart/templates/deployment-celery-worker.yaml
+++ b/chart/templates/celery-worker.yaml
@@ -1,5 +1,21 @@
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ printf "%s-%s" .Release.Name "celery-worker-svc" }}
+  labels:
+    {{- include "chart.labels" . | nindent 4 }}
+    app: celery-worker-svc
+spec:
+  ports:
+  - port: 80
+    name: web
+  clusterIP: None
+  selector:
+    {{- include "chart.labels" . | nindent 4 }}
+    app: celery-worker
+---
 apiVersion: apps/v1
-kind: Deployment
+kind: StatefulSet
 metadata:
   name: {{ printf "%s-%s" .Release.Name "celery" }}
   labels:
@@ -10,8 +26,12 @@ spec:
     matchLabels:
       {{- include "chart.selectorLabels" . | nindent 6 }}
       app: celery-worker
-  strategy:
-    type: Recreate
+  serviceName: {{ printf "%s-%s" .Release.Name "celery-worker-svc" }}
+  {{- if .Values.celery.replicas }}
+  replicas: {{ .Values.celery.replicas }}
+  {{- end }}
+  updateStrategy:
+    type: RollingUpdate
   template:
     metadata:
     {{- with .Values.podAnnotations }}