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"]