#!/bin/bash set -e # Проект должен быть указан родительским скриптом if [ ! -n "$PROJECT" ]; then echo "❌ Проект не указан!" exit 1 fi SEAFILE_USER="${MACHINE}-${PROJECT}-workspace@dimti.ru" SEAFILE_PASS=$(pwgen -s 20 1) SEAFILE_LIB=$2 echo "Seafile credentionals for create new account:" echo "SEAFILE_USER: ${SEAFILE_USER}" echo "SEAFILE_PASS: ${SEAFILE_PASS}" PROJECT_UPPERCASE=$(echo ${PROJECT} | tr '[:lower:]' '[:upper:]') SEAFILE_STACK_DIR="${STACKS_DIR}/seafile" cat << EOF >> ${SEAFILE_STACK_DIR}/.env ${PROJECT_UPPERCASE}_USER=${SEAFILE_USER} ${PROJECT_UPPERCASE}_PASS=${SEAFILE_PASS} ${PROJECT_UPPERCASE}_LIB=${SEAFILE_LIB} EOF # Добавляем новый volume, если его ещё нет yq eval ".volumes += {\"seafile-$PROJECT\": null}" -i "${SEAFILE_STACK_DIR}/compose.yaml" cat << EOF >> ${SEAFILE_STACK_DIR}/compose.yaml ${PROJECT}: extends: file: ./compose.base.yaml service: seafile volumes: - /opt/projects/${PROJECT}/hostfiles:/library - seafile-${PROJECT}:/seafile environment: SEAF_USERNAME: "\${${PROJECT_UPPERCASE}_USER}" SEAF_PASSWORD: "\${${PROJECT_UPPERCASE}_PASS}" SEAF_LIBRARY: "\${${PROJECT_UPPERCASE}_LIB}" EOF