#!/bin/bash clear nc_path="/var/www/html" #nc_path="/var/www/nextcloud" # File owner for Nextcloud data nc_owner="www-data" # This script need to know what your nextcloud docker container is called nc_container="nextcloud" # Change this if Nextcloud is hosted in a docker container. # All commands need to change for docker containers docker=true if [[ $docker = true ]] then command="docker exec --user $nc_owner $nc_container php occ" else command="sudo -u $nc_owner php --define apc.enable_cli=1 $nc_path/occ" fi echo " This script are to be used as follows..." echo "" echo " ./nextcloud [function] [paramiters]" echo " " echo " Example: ./nextcloud maintenance on" echo " Maintenance mode enabled" echo " " echo " Available functions are listed below" echo " " echo " - maintenance [on/off] " echo " " echo " - occ [followed by any official occ commands]" echo " " echo " - db [export, import]" echo " " echo " - install [smb, zip, nfs, ffmpeg, all " echo " " echo " " echo " " echo " " function maintenance () { clear # echo $command case $1 in on) m="on" ;; off) m="off" ;; *) echo "" echo "Please use either 'on' of 'off' when calling the maintenance function" echo "" ;; esac #sudo -u $nc_owner php --define apc.enable_cli=1 $nc_path/occ maintenance:mode --$m } function occ () { $command $1 $2 $3 #sudo -u $nc_owner php --define apc.enable_cli=1 $nc_path/occ $1 $2 $3 } function db () { echo "" } function install () { clear if [ $1 null ]; then # Perform an APT update and upgrade first echo " " echo " Options for this function are ..." echo " " echo " smb - install smb tools to allow network shares for the external drives plugin" echo " zip - install 7zip to unzip files in nextcloud" echo " ffmpeg - Install ffmpeg to play video files (this includes SVG support)" echo " nfs - Install nfs tools to mount nfs shares into docker container" echo "" echo "" else case $1 in smb|SMB) docker exec -i $nc_container sh -c 'apt update' docker exec -i $nc_container sh -c 'apt upgrade -y' docker exec -i $nc_container sh -c 'apt install smbclient -y && apt install libsmbclient-dev -y' docker exec -i $nc_container sh -c 'pecl install smbclient' docker exec -i $nc_container sh -c 'docker-php-ext-enable smbclient' ;; zip|ZIP) docker exec -i $nc_container sh -c 'apt update' docker exec -i $nc_container sh -c 'apt upgrade -y' docker exec -i $nc_container sh -c 'pecl -v install rar' docker exec -i $nc_container sh -c 'apt install p7zip p7zip-full' ;; ffmpg|FFMPEG) docker exec -i $nc_container sh -c 'apt update' docker exec -i $nc_container sh -c 'apt upgrade -y' docker exec -i $nc_container sh -c 'apt install ffmpeg imagemagick ghostscript -y' docker exec -i $nc_container sh -c 'apt install libmagickcore-6.q16-6-extra -y' #svg support ;; nfs|NFS) ;; *) echo " You didn't choose anything to install" echo " options are ... [smb, zip, ffmpeg, nfs]" echo "" echo "" ;; esac fi } "$@"