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
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
|