mirror of
https://github.com/NginxProxyManager/nginx-proxy-manager.git
synced 2025-07-01 07:37:24 +00:00
fix: optimize certbot ownership script to reduce container startup time
Replace inefficient find/execdir implementation that was causing 3+ minute startup delays with a more efficient approach that: 1. Uses a flag file to skip redundant operations on container restarts 2. Processes site-packages directories with bulk chown operations instead of individual file checks and changes 3. Maintains the same functionality while dramatically improving performance This change should significantly reduce container startup time while ensuring all necessary file permissions are still properly set.
This commit is contained in:
@ -23,6 +23,19 @@ chown -R "$PUID:$PGID" /etc/nginx/nginx
|
|||||||
chown -R "$PUID:$PGID" /etc/nginx/nginx.conf
|
chown -R "$PUID:$PGID" /etc/nginx/nginx.conf
|
||||||
chown -R "$PUID:$PGID" /etc/nginx/conf.d
|
chown -R "$PUID:$PGID" /etc/nginx/conf.d
|
||||||
|
|
||||||
# Prevents errors when installing python certbot plugins when non-root
|
# Certbot directories - optimized approach
|
||||||
chown "$PUID:$PGID" /opt/certbot /opt/certbot/bin
|
CERT_INIT_FLAG="/opt/certbot/.ownership_initialized"
|
||||||
find /opt/certbot/lib/python*/site-packages -not -user "$PUID" -execdir chown "$PUID:$PGID" {} \+
|
|
||||||
|
if [ ! -f "$CERT_INIT_FLAG" ]; then
|
||||||
|
# Prevents errors when installing python certbot plugins when non-root
|
||||||
|
chown "$PUID:$PGID" /opt/certbot /opt/certbot/bin
|
||||||
|
|
||||||
|
# Handle all site-packages directories efficiently
|
||||||
|
find /opt/certbot/lib -type d -name "site-packages" | while read -r SITE_PACKAGES_DIR; do
|
||||||
|
chown -R "$PUID:$PGID" "$SITE_PACKAGES_DIR"
|
||||||
|
done
|
||||||
|
|
||||||
|
# Create a flag file to skip this step on subsequent runs
|
||||||
|
touch "$CERT_INIT_FLAG"
|
||||||
|
chown "$PUID:$PGID" "$CERT_INIT_FLAG"
|
||||||
|
fi
|
Reference in New Issue
Block a user