You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.3 KiB

#!/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