Add script to set php-fpm pm to Nextcloud

This commit is contained in:
Christopher
2024-01-17 09:23:15 -06:00
parent 13311df090
commit a73726e490
2 changed files with 66 additions and 0 deletions

View File

@@ -0,0 +1,9 @@
# About
This script adds the ability to set php-fpm pm to nextcloud.
# Run command
```bash
bash -c "$(wget -qLO - https://raw.githubusercontent.com/bigbeartechworld/big-bear-scripts/master/casaos-add-pm-to-nextcloud/run.sh)"
```

View File

@@ -0,0 +1,57 @@
#!/bin/bash
# Path where nextcloud directories are located
APP_DIR="/var/lib/casaos/apps"
# Find directories containing 'nextcloud' in their names
echo "Searching for Nextcloud directories in $APP_DIR..."
NEXTCLOUD_DIRS=($(find "$APP_DIR" -maxdepth 1 -type d -name "*nextcloud*" -exec basename {} \;))
# Check if any directories were found
if [ ${#NEXTCLOUD_DIRS[@]} -eq 0 ]; then
echo "No Nextcloud directories found in $APP_DIR."
exit 1
fi
# Allow user to pick a directory
echo "Please select a Nextcloud directory:"
select NEXTCLOUD_DIR in "${NEXTCLOUD_DIRS[@]}"; do
[ -n "$NEXTCLOUD_DIR" ] && break
echo "Invalid selection. Please try again."
done
# Default path for the PHP-FPM configuration
DEFAULT_PHP_FPM_CONF_PATH="$APP_DIR/$NEXTCLOUD_DIR/php-fpm.d/zz-pm.conf"
# Allow user to provide a custom path or use the default
read -p "Enter the PHP-FPM configuration file path or press enter to use default [$DEFAULT_PHP_FPM_CONF_PATH]: " PHP_FPM_CONF_PATH
PHP_FPM_CONF_PATH=${PHP_FPM_CONF_PATH:-$DEFAULT_PHP_FPM_CONF_PATH}
# Creating the PHP-FPM configuration file
echo "Creating PHP-FPM configuration at $PHP_FPM_CONF_PATH"
mkdir -p "$(dirname "$PHP_FPM_CONF_PATH")"
cat <<EOF > "$PHP_FPM_CONF_PATH"
[www]
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
EOF
# Check if Docker Compose file exists
DOCKER_COMPOSE_FILE="$APP_DIR/$NEXTCLOUD_DIR/docker-compose.yml"
echo "Checking if Docker Compose file exists at $DOCKER_COMPOSE_FILE"
if [ ! -f "$DOCKER_COMPOSE_FILE" ]; then
echo "Docker Compose file not found at $DOCKER_COMPOSE_FILE"
exit 1
fi
# Add the new volume to the 'nextcloud' service in the Docker Compose file
echo "Adding new volume to the 'nextcloud' service in the Docker Compose file"
sed -i '/nextcloud:/,/volumes:/!b;/volumes:/a \ - type: bind\n source: '"$PHP_FPM_CONF_PATH"'\n target: /usr/local/etc/php-fpm.d/zz-pm.conf' "$DOCKER_COMPOSE_FILE"
# Apply changes using casaos-cli
casaos-cli app-management apply "$NEXTCLOUD_DIR" --file="$DOCKER_COMPOSE_FILE"
echo "Applying changes to $NEXTCLOUD_DIR..."
echo "Script execution completed."