* create stack project reorganize to separate scripts

+ pma hosts modify
This commit is contained in:
2025-04-03 13:11:21 +03:00
parent 301dd15919
commit e57b8b9ac7
7 changed files with 324 additions and 207 deletions

View File

@ -0,0 +1,41 @@
#!/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:]')
cat << EOF >> ${STACKS_DIR}/seafile/.env
${PROJECT_UPPERCASE}_USER=${SEAFILE_USER}
${PROJECT_UPPERCASE}_PASS=${SEAFILE_PASS}
${PROJECT_UPPERCASE}_LIB=${SEAFILE_LIB}
EOF
sed -e "s/volumes:/volumes:\n\s\sseafile-$PROJECT:/g" /opt/stacks/seafile/compose.yaml
cat << EOF >> /opt/stacks/seafile/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

View File

@ -0,0 +1,50 @@
#!/bin/bash
set -e
# Проект должен быть указан родительским скриптом
if [ ! -n "$PROJECT" ]; then
echo "❌ Проект не указан!"
exit 1
fi
PMA_ENV_FILE="${STACKS_DIR}/pma/.env"
# Проверяем, существует ли файл .env
if [ ! -f "$PMA_ENV_FILE" ]; then
echo "❌ Файл $PMA_ENV_FILE не найден!"
exit 1
fi
# Временный файл для изменений
TMP_FILE=$(mktemp)
# Обрабатываем каждую строку
while IFS= read -r line; do
case "$line" in
HOSTS=*)
current_hosts=${line#HOSTS=}
if [[ ! "$current_hosts" =~ "$PROJECT-mariadb-1" ]]; then
echo "HOSTS=$current_hosts,$PROJECT-mariadb-1" >> "$TMP_FILE"
else
echo "$line" >> "$TMP_FILE"
fi
;;
VERBOSES=*)
current_verboses=${line#VERBOSES=}
if [[ ! "$current_verboses" =~ "$PROJECT" ]]; then
echo "VERBOSES=$current_verboses,$PROJECT" >> "$TMP_FILE"
else
echo "$line" >> "$TMP_FILE"
fi
;;
*)
echo "$line" >> "$TMP_FILE"
;;
esac
done < "$PMA_ENV_FILE"
# Перемещаем временный файл на место оригинального
mv "$TMP_FILE" "$PMA_ENV_FILE"
echo "✅ Файл $PMA_ENV_FILE обновлён:"
cat "$PMA_ENV_FILE"