From 6117282909f59c16eab8154bf0a5d26f8f7dfccb Mon Sep 17 00:00:00 2001 From: "Michael (Parker) Parker" Date: Fri, 27 Sep 2024 17:36:45 -0400 Subject: [PATCH] update to use supervisord Update the dockerfile to use supervisord Update supervisord config to use start caddy unless configured not to. Updated entrypoint to handle caddy skip for supervisord. --- .github/docker/entrypoint.sh | 6 +++++- .github/docker/supervisord.conf | 12 ++++++------ Dockerfile | 10 ++++------ 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/.github/docker/entrypoint.sh b/.github/docker/entrypoint.sh index ee78a23008..14f779e573 100644 --- a/.github/docker/entrypoint.sh +++ b/.github/docker/entrypoint.sh @@ -42,13 +42,17 @@ php artisan migrate --force echo -e "Starting cron jobs." crond -L /var/log/crond -l 5 +export SUPERVISORD_CADDY=false + +## disable caddy if SKIP_CADDY is set if [[ -z $SKIP_CADDY ]]; then echo "Starting PHP-FPM and Caddy" - caddy run --config /etc/caddy/Caddyfile --adapter caddyfile & + export SUPERVISORD_CADDY=true else echo "Starting PHP-FPM only" fi chown -R www-data:www-data . /pelican-data/.env /pelican-data/database +echo "Starting Supervisord" exec "$@" diff --git a/.github/docker/supervisord.conf b/.github/docker/supervisord.conf index da6823aeb7..4d6b745c88 100644 --- a/.github/docker/supervisord.conf +++ b/.github/docker/supervisord.conf @@ -25,15 +25,15 @@ autostart=true autorestart=true [program:queue-worker] -command=/usr/local/bin/php /app/artisan queue:work --queue=high,standard,low --sleep=3 --tries=3 -user=nginx +command=/usr/local/bin/php /var/www/html/artisan queue:work --queue=high,standard,low --sleep=3 --tries=3 +user=www-data autostart=true autorestart=true -[program:nginx] -command=/usr/sbin/nginx -g 'daemon off;' -autostart=true -autorestart=true +[program:caddy] +command=caddy run --config /etc/caddy/Caddyfile --adapter caddyfile +autostart=%(ENV_SUPERVISORD_CADDY)s +autorestart=%(ENV_SUPERVISORD_CADDY)s priority=10 stdout_events_enabled=true stderr_events_enabled=true \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index f11456acdf..8c99bcc252 100644 --- a/Dockerfile +++ b/Dockerfile @@ -42,8 +42,9 @@ RUN chmod -R 755 /var/www/html/storage \ # Add scheduler to cron RUN echo "* * * * * php /var/www/html/artisan schedule:run >> /dev/null 2>&1" | crontab -u www-data - -# Create new service for the queue -RUN php artisan p:environment:queue-service --service-name=pelican-queue --user=www-data --group=www-data --overwrite +## supervisord config and log dir +RUN cp .github/docker/supervisord.conf /etc/supervisord.conf && \ + mkdir /var/log/supervisord/ HEALTHCHECK --interval=5m --timeout=10s --start-period=5s --retries=3 \ CMD curl -f http://localhost/up || exit 1 @@ -53,8 +54,5 @@ EXPOSE 443 VOLUME /pelican-data -# Start PHP-FPM -CMD ["sh", "-c", "php-fpm"] - ENTRYPOINT [ "/bin/ash", ".github/docker/entrypoint.sh" ] -# CMD [ "supervisord", "-n", "-c", "/etc/supervisord.conf" ] +CMD [ "supervisord", "-n", "-c", "/etc/supervisord.conf" ]