diff --git a/ansible/celery.service b/ansible/celery.service
new file mode 100644
index 0000000000000000000000000000000000000000..2e1f4dcc6369191efca40a3d6772adc8265ecdd3
--- /dev/null
+++ b/ansible/celery.service
@@ -0,0 +1,21 @@
+[Unit]
+Description=Celery Service
+After=network.target
+
+[Service]
+Type=forking
+User=jass
+Group=nginx
+EnvironmentFile=-/etc/default/ippidb-{{ http_port }}-celeryd
+WorkingDirectory=/var/ippidb-{{ http_port }}
+ExecStart=/bin/sh -c '${CELERY_BIN} multi start ${CELERYD_NODES} \
+  -A ${CELERY_APP} --pidfile=${CELERYD_PID_FILE} \
+  --logfile=${CELERYD_LOG_FILE} --loglevel=${CELERYD_LOG_LEVEL} ${CELERYD_OPTS}'
+ExecStop=/bin/sh -c '${CELERY_BIN} multi stopwait ${CELERYD_NODES} \
+  --pidfile=${CELERYD_PID_FILE}'
+ExecReload=/bin/sh -c '${CELERY_BIN} multi restart ${CELERYD_NODES} \
+  -A ${CELERY_APP} --pidfile=${CELERYD_PID_FILE} \
+  --logfile=${CELERYD_LOG_FILE} --loglevel=${CELERYD_LOG_LEVEL} ${CELERYD_OPTS}'
+
+[Install]
+WantedBy=multi-user.target
diff --git a/ansible/celeryd b/ansible/celeryd
new file mode 100644
index 0000000000000000000000000000000000000000..d5ff5f59b08ce5c8ad2a7d6117b569bf45cb68a6
--- /dev/null
+++ b/ansible/celeryd
@@ -0,0 +1,11 @@
+CELERYD_NODES="worker"
+CELERY_BIN="celery"
+CELERY_APP="ippisite"
+CELERYD_CHDIR="/var/ippidb-{{ http_port }}-celery"
+CELERYD_OPTS="--time-limit=3000 --concurrency=1 --max-tasks-per-child=1"
+CELERYD_LOG_FILE="/var/ippidb-{{ http_port }}-celery/celery%N.log"
+CELERYD_PID_FILE="/var/ippidb-{{ http_port }}-celery/celery%N.pid"
+CELERYD_LOG_LEVEL="DEBUG"
+CELERYD_USER=""
+CELERYD_GROUP="nginx"
+CELERY_CREATE_DIRS=1
diff --git a/ansible/deploy.yaml b/ansible/deploy.yaml
index 857e7bef0bbe185d34c06e3b5c6adc0641fb0936..447d49fa92818d11d2c2a96a955ee3c1d91dc08d 100644
--- a/ansible/deploy.yaml
+++ b/ansible/deploy.yaml
@@ -121,6 +121,24 @@
       systemd: state=stopped name=ippidb-web
       #ignore fail (i.e. when service does not exist yet)
       ignore_errors: yes
+    - name: stop celery service
+      systemd: state=stopped name=celery enabled=true
+      ignore_errors: yes
+    #
+    # Set up celery service
+    #
+    - name: copy celeryd configuration file
+      copy:
+        src: celeryd
+        dest: /etc/default
+        owner: root
+        group: root
+    - name: copy celery systemd service
+      copy:
+        src: celery.service
+        dest: /lib/systemd/system/celery.service
+        owner: root
+        group: root
     #
     # Fetch/Update code and prep django app for publication
     #
@@ -186,7 +204,7 @@
               ('EMAIL_ADMIN', 'hmenager@pasteur.fr'),
           ]
           MANAGERS = [
-              ('EMAIL_MANAGER', 'hmenager@pasteur.fr'),
+              ('EMAIL_MANAGER', 'ippidb@pasteur.fr'),
           ]
           LOGGING = {
               'version': 1,
@@ -290,4 +308,9 @@
     # Start web server
     #
     - name: start iPPIDB service if relevant
-      systemd: state=started name=ippidb{{ http_port }}-web enabled=true
\ No newline at end of file
+      systemd: state=started name=ippidb{{ http_port }}-web enabled=true
+    #
+    # Start celery service
+    #
+    - name: start celery service if relevant
+      systemd: state=started name=celery enabled=true daemon_reload=true