24 lines
901 B
Docker
24 lines
901 B
Docker
|
|
FROM piefed-base AS piefed-worker
|
||
|
|
|
||
|
|
# Worker-specific Python configuration for background processing
|
||
|
|
RUN echo "import sys" > /app/worker_config.py && \
|
||
|
|
echo "sys.path.append('/app')" >> /app/worker_config.py
|
||
|
|
|
||
|
|
# Copy worker-specific configuration files
|
||
|
|
COPY supervisord-worker.conf /etc/supervisor/conf.d/supervisord.conf
|
||
|
|
COPY entrypoint-worker.sh /entrypoint.sh
|
||
|
|
RUN chmod +x /entrypoint.sh
|
||
|
|
|
||
|
|
# Create worker directories and set permissions
|
||
|
|
RUN mkdir -p /var/log/supervisor /var/log/celery \
|
||
|
|
&& chown -R piefed:piefed /var/log/celery
|
||
|
|
|
||
|
|
# Health check for worker container (check celery status)
|
||
|
|
HEALTHCHECK --interval=60s --timeout=10s --start-period=60s --retries=3 \
|
||
|
|
CMD su-exec piefed celery -A celery_worker_docker.celery inspect ping || exit 1
|
||
|
|
|
||
|
|
# Run as root to manage processes
|
||
|
|
USER root
|
||
|
|
|
||
|
|
ENTRYPOINT ["/entrypoint.sh"]
|
||
|
|
CMD ["supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"]
|