* create stack project reorganize to separate scripts
+ pma hosts modify
This commit is contained in:
41
stack-project/stack/_make-safile-service.sh
Normal file
41
stack-project/stack/_make-safile-service.sh
Normal 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
|
50
stack-project/stack/_modify-pma-hosts.sh
Normal file
50
stack-project/stack/_modify-pma-hosts.sh
Normal 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"
|
Reference in New Issue
Block a user