Skip to content

Commit

Permalink
update to use supervisord
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
parkervcp committed Sep 27, 2024
1 parent 967d026 commit 6117282
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 13 deletions.
6 changes: 5 additions & 1 deletion .github/docker/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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 "$@"
12 changes: 6 additions & 6 deletions .github/docker/supervisord.conf
Original file line number Diff line number Diff line change
Expand Up @@ -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
10 changes: 4 additions & 6 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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" ]

0 comments on commit 6117282

Please sign in to comment.