Ta en titt i dokumentationen. Det är dock en varning, inte ett fel (se koden). Att köra Selleri under root är ett fel endast när du tillåter gurka serialisering som inte är aktiverad som standard (se här).
Det är dock fortfarande den bästa praxisen att köra Selleri med lägre privilegier. I Docker (med Debianbaserad bild) väljer jag att köra Celery under nobody
:nogroup
. Jag använder denna Dockerfile
:
FROM python:3.6
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1
WORKDIR /srv/celery
COPY ./app app
COPY ./requirements.txt /tmp/requirements.txt
COPY ./celery.sh celery.sh
RUN pip install --no-cache-dir \
-r /tmp/requirements.txt
VOLUME ["/var/log/celery", "/var/run/celery"]
CMD ["./celery.sh"]
där celery.sh
ser ut som följer:
#!/usr/bin/env bash
mkdir -p /var/run/celery /var/log/celery
chown -R nobody:nogroup /var/run/celery /var/log/celery
exec celery --app=app worker \
--loglevel=INFO --logfile=/var/log/celery/worker-example.log \
--statedb=/var/run/celery/[email protected]%h.state \
[email protected]%h \
--queues=celery.example -O fair \
--uid=nobody --gid=nogroup