+ todo about main script create stack project additional options + rsync example for sync remote ide distros and plugins
		
			
				
	
	
		
			43 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/bash
 | 
						|
set -e
 | 
						|
 | 
						|
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
 | 
						|
cd $SCRIPT_DIR
 | 
						|
 | 
						|
# Список обязательных программ
 | 
						|
required_programs=(
 | 
						|
    "pwgen"
 | 
						|
    "yq"
 | 
						|
)
 | 
						|
 | 
						|
# Проверка каждой программы
 | 
						|
for program in "${required_programs[@]}"; do
 | 
						|
    if ! command -v "$program" &>/dev/null; then
 | 
						|
        echo "❌ Ошибка: программа '$program' не установлена!"
 | 
						|
        exit 1
 | 
						|
    fi
 | 
						|
done
 | 
						|
 | 
						|
PROJECT=$1
 | 
						|
if [[ -z "${PROJECT}" ]]; then 
 | 
						|
  echo 'Usage: ./create-stack-project PROJECT [SEAFILE_DUMPS_LIB_UUID]';
 | 
						|
  exit 1;
 | 
						|
fi
 | 
						|
 | 
						|
source .env || {
 | 
						|
  echo "❌ Ошибка: не удалось загрузить .env (файл не существует или содержит ошибки)" >&2; 
 | 
						|
  exit 1; 
 | 
						|
}
 | 
						|
export $(grep -v '^#' .env | cut -d= -f1)
 | 
						|
 | 
						|
echo
 | 
						|
 | 
						|
export PROJECT_DIR=${PROJECTS_DIR}/${PROJECT}
 | 
						|
 | 
						|
. ./stack-project/stack/_make-seafile-service.sh
 | 
						|
 | 
						|
. ./stack-project/project/_create-configs.sh
 | 
						|
 | 
						|
. ./stack-project/project/_create-misc-dirs.sh
 | 
						|
 | 
						|
. ./stack-project/_create-stack-www-project.sh |