diff --git a/nextcloud-maintenance.sh b/nextcloud-maintenance.sh deleted file mode 100755 index 51a2c96..0000000 --- a/nextcloud-maintenance.sh +++ /dev/null @@ -1,131 +0,0 @@ -#!/bin/bash - -# Nextcloud Maintenance Script -# This script performs maintenance tasks for Nextcloud - -# Colors for output -GREEN='\033[0;32m' -YELLOW='\033[1;33m' -RED='\033[0;31m' -NC='\033[0m' # No Color - -echo -e "${YELLOW}Running Nextcloud maintenance tasks...${NC}" - -# Load environment variables -if [ -f "./nextcloud/.env" ]; then - source ./nextcloud/.env - echo -e "${GREEN}Loaded Nextcloud environment variables.${NC}" -else - echo -e "${RED}Nextcloud .env file not found!${NC}" - exit 1 -fi - -if [ -f "./core/.env" ]; then - source ./core/.env - echo -e "${GREEN}Loaded core environment variables.${NC}" -else - echo -e "${RED}Core .env file not found!${NC}" - exit 1 -fi - -# Function to fix database collation version mismatch -fix_database_collation() { - echo -e "${YELLOW}Checking and fixing database collation version...${NC}" - - if docker exec postgres psql -U "${POSTGRES_USER}" -d "${NEXTCLOUD_DB_NAME}" -c "ALTER DATABASE ${NEXTCLOUD_DB_NAME} REFRESH COLLATION VERSION;" 2>&1 | grep -q "ALTER DATABASE"; then - echo -e "${GREEN}Database collation version updated successfully.${NC}" - return 0 - else - echo -e "${YELLOW}Database collation check completed (may already be up to date).${NC}" - return 0 - fi -} - -# Function to check Nextcloud status -check_status() { - echo -e "${YELLOW}Checking Nextcloud status...${NC}" - docker exec nextcloud php /var/www/html/occ status 2>&1 | grep -v "WARNING.*collation" - return 0 -} - -# Function to scan files -scan_files() { - echo -e "${YELLOW}Scanning files for user: $1...${NC}" - docker exec nextcloud php /var/www/html/occ files:scan --all --unscanned "$1" 2>&1 | grep -v "WARNING.*collation" - return 0 -} - -# Function to update Nextcloud -update_nextcloud() { - echo -e "${YELLOW}Checking for Nextcloud updates...${NC}" - docker exec nextcloud php /var/www/html/occ upgrade 2>&1 | grep -v "WARNING.*collation" - return 0 -} - -# Function to optimize database -optimize_database() { - echo -e "${YELLOW}Optimizing database...${NC}" - docker exec nextcloud php /var/www/html/occ db:add-missing-indices 2>&1 | grep -v "WARNING.*collation" - docker exec nextcloud php /var/www/html/occ db:add-missing-columns 2>&1 | grep -v "WARNING.*collation" - docker exec nextcloud php /var/www/html/occ db:add-missing-primary-keys 2>&1 | grep -v "WARNING.*collation" - return 0 -} - -# Function to clear caches -clear_caches() { - echo -e "${YELLOW}Clearing Nextcloud caches...${NC}" - docker exec nextcloud php /var/www/html/occ files:cleanup 2>&1 | grep -v "WARNING.*collation" - docker exec nextcloud php /var/www/html/occ maintenance:repair 2>&1 | grep -v "WARNING.*collation" - return 0 -} - -# Main execution -case "${1:-all}" in - collation) - fix_database_collation - ;; - status) - check_status - ;; - scan) - if [ -z "$2" ]; then - echo -e "${YELLOW}Scanning all files...${NC}" - docker exec nextcloud php /var/www/html/occ files:scan --all --unscanned 2>&1 | grep -v "WARNING.*collation" - else - scan_files "$2" - fi - ;; - update) - update_nextcloud - ;; - optimize) - optimize_database - ;; - cache) - clear_caches - ;; - all) - fix_database_collation - echo "" - check_status - echo "" - optimize_database - echo "" - clear_caches - echo "" - echo -e "${GREEN}All maintenance tasks completed.${NC}" - ;; - *) - echo "Usage: $0 [collation|status|scan|update|optimize|cache|all]" - echo "" - echo "Commands:" - echo " collation - Fix database collation version mismatch" - echo " status - Check Nextcloud status" - echo " scan - Scan files (optionally specify username)" - echo " update - Update Nextcloud" - echo " optimize - Optimize database indices and columns" - echo " cache - Clear caches and repair" - echo " all - Run all maintenance tasks (default)" - exit 1 - ;; -esac diff --git a/override/nextcloud.example.env b/override/nextcloud.example.env index 15a86a0..8185f55 100644 --- a/override/nextcloud.example.env +++ b/override/nextcloud.example.env @@ -8,3 +8,8 @@ NEXTCLOUD_DB_PASSWORD= NEXTCLOUD_DB_USER= NEXTCLOUD_TRUSTED_DOMAINS= ONLYOFFICE_JWT_SECRET= + +# Collabora Online +COLLABORA_DOMAIN= +COLLABORA_USERNAME=admin +COLLABORA_PASSWORD=