Add the redacted source file for demo purposes Reviewed-on: https://source.michaeldileo.org/michael_dileo/Keybard-Vagabond-Demo/pulls/1 Co-authored-by: Michael DiLeo <michael_dileo@proton.me> Co-committed-by: Michael DiLeo <michael_dileo@proton.me>
28 lines
1.1 KiB
Docker
28 lines
1.1 KiB
Docker
FROM pixelfed-base AS pixelfed-worker
|
|
|
|
# Install supervisor for worker management
|
|
RUN apk add --no-cache supervisor
|
|
|
|
# Worker-specific PHP configuration for background processing
|
|
RUN echo "memory_limit = 512M" >> /usr/local/etc/php/conf.d/worker.ini \
|
|
&& echo "max_execution_time = 300" >> /usr/local/etc/php/conf.d/worker.ini \
|
|
&& echo "max_input_time = 300" >> /usr/local/etc/php/conf.d/worker.ini \
|
|
&& echo "pcntl.enabled = 1" >> /usr/local/etc/php/conf.d/worker.ini
|
|
|
|
# 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 supervisor directories
|
|
RUN mkdir -p /var/log/supervisor
|
|
|
|
# Health check for worker container (check horizon status)
|
|
HEALTHCHECK --interval=60s --timeout=10s --start-period=60s --retries=3 \
|
|
CMD su-exec pixelfed php /var/www/pixelfed/artisan horizon:status || exit 1
|
|
|
|
# Run as root to manage processes
|
|
USER root
|
|
|
|
ENTRYPOINT ["/entrypoint.sh"]
|
|
CMD ["supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"] |