Browse Source

* seafile add volume with yq

+ todo about main script create stack project additional options
+ rsync example for sync remote ide distros and plugins
master
Alexander Demidov 1 month ago
parent
commit
04387d65cf
  1. 1
      create-stack-project.sh
  2. 13
      stack-project/_create-stack-www-project.sh
  3. 12
      stack-project/stack/_make-safile-service.sh

1
create-stack-project.sh

@ -7,6 +7,7 @@ cd $SCRIPT_DIR
# Список обязательных программ # Список обязательных программ
required_programs=( required_programs=(
"pwgen" "pwgen"
"yq"
) )
# Проверка каждой программы # Проверка каждой программы

13
stack-project/_create-stack-www-project.sh

@ -1,6 +1,11 @@
#!/bin/bash #!/bin/bash
set -e set -e
# TODO
# 1. Указывать версию PHP (сейчас скрипту якобы можно передать либу (уже особо нет))
# 2. Ну и либу seafile'а
# 3. А ещё SSH-ключ разработчика. На локальной станции он един, а не на локальной - их много
# Проект должен быть указан родительским скриптом # Проект должен быть указан родительским скриптом
if [ ! -n "$PROJECT" ]; then if [ ! -n "$PROJECT" ]; then
echo "❌ Проект не указан!" echo "❌ Проект не указан!"
@ -36,7 +41,7 @@ services:
networks: networks:
apihole_net: apihole_net:
aliases: aliases:
- workspace.${PROJECT}.saturn
- workspace.${PROJECT}.${MACHINE}
mariadb: mariadb:
extends: extends:
file: ./../structure/compose.base.yaml file: ./../structure/compose.base.yaml
@ -86,4 +91,8 @@ cat << EOF > ${WWW_DIR}/${PROJECT}/index.php
phpinfo(); phpinfo();
EOF EOF
chown -R $P_UID:$P_GID ${WWW_DIR}
chown -R $P_UID:$P_GID ${WWW_DIR}
# RemoteIde dist и плагины
# rsync -a CacheJetBrains/fresh/ /var/lib/docker/volumes/xbll_CacheJetBrains/_data/
# rsync -a LocalShareJetBrains/ /var/lib/docker/volumes/xbll_LocalShareJetBrains/_data/

12
stack-project/stack/_make-safile-service.sh

@ -17,16 +17,20 @@ echo "SEAFILE_PASS: ${SEAFILE_PASS}"
PROJECT_UPPERCASE=$(echo ${PROJECT} | tr '[:lower:]' '[:upper:]') PROJECT_UPPERCASE=$(echo ${PROJECT} | tr '[:lower:]' '[:upper:]')
cat << EOF >> ${STACKS_DIR}/seafile/.env
SEAFILE_STACK_DIR="${STACKS_DIR}/seafile"
cat << EOF >> ${SEAFILE_STACK_DIR}/.env
${PROJECT_UPPERCASE}_USER=${SEAFILE_USER} ${PROJECT_UPPERCASE}_USER=${SEAFILE_USER}
${PROJECT_UPPERCASE}_PASS=${SEAFILE_PASS} ${PROJECT_UPPERCASE}_PASS=${SEAFILE_PASS}
${PROJECT_UPPERCASE}_LIB=${SEAFILE_LIB} ${PROJECT_UPPERCASE}_LIB=${SEAFILE_LIB}
EOF EOF
sed -e "s/volumes:/volumes:\n\s\sseafile-$PROJECT:/g" /opt/stacks/seafile/compose.yaml
cat << EOF >> /opt/stacks/seafile/compose.yaml
# Добавляем новый volume, если его ещё нет
yq eval ".volumes += {\"seafile-$PROJECT\": null}" -i "${SEAFILE_STACK_DIR}/compose.yaml"
cat << EOF >> ${SEAFILE_STACK_DIR}/compose.yaml
${PROJECT}: ${PROJECT}:
extends: extends:
file: ./compose.base.yaml file: ./compose.base.yaml
@ -38,4 +42,4 @@ cat << EOF >> /opt/stacks/seafile/compose.yaml
SEAF_USERNAME: "\${${PROJECT_UPPERCASE}_USER}" SEAF_USERNAME: "\${${PROJECT_UPPERCASE}_USER}"
SEAF_PASSWORD: "\${${PROJECT_UPPERCASE}_PASS}" SEAF_PASSWORD: "\${${PROJECT_UPPERCASE}_PASS}"
SEAF_LIBRARY: "\${${PROJECT_UPPERCASE}_LIB}" SEAF_LIBRARY: "\${${PROJECT_UPPERCASE}_LIB}"
EOF
EOF
Loading…
Cancel
Save