您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

mount-volumes.sh 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #! /bin/sh
  2. #
  3. if [ "$(id -u)" -ne 0 ]; then
  4. echo "must be ran as root"
  5. exit 1
  6. fi
  7. set -a
  8. . "${PWD}/.env"
  9. . "${PWD}/env_files/manage.env"
  10. set +a
  11. volumes="certs dynamic logs root static webroot"
  12. for volume in ${volumes}; do
  13. mount_path="${PWD}/traefik-volumes/${volume}"
  14. volume_path="${DOCKER_VOLUMES_PATH}/${PREFIX}-traefik-${volume}/_data"
  15. if [ "${volume}" = "webroot" ]; then
  16. mount_path="${PWD}/${volume}-volume"
  17. volume_path="${DOCKER_VOLUMES_PATH}/${PREFIX}-${volume}/_data"
  18. fi
  19. if [ "${volume}" = "root" ]; then
  20. mount_path="${PWD}/${volume}-volume"
  21. volume_path="${DOCKER_VOLUMES_PATH}/${PREFIX}-${volume}/_data"
  22. fi
  23. sudo -u "${MOUNT_USER}" mkdir -p "${mount_path}"
  24. if mountpoint "${mount_path}" -q; then
  25. echo "exiting because something is mounted at ${mount_path}"
  26. exit 1
  27. fi
  28. # if [ -n "$(find "${mount_path}" -maxdepth 0 -type d -empty 2> /dev/null)" ]; then
  29. if [ "$(ls -A "${mount_path}")" ]; then
  30. echo "${mount_path} is not empty"
  31. exit 1
  32. fi
  33. echo "mounting ${mount_path}"
  34. sudo /usr/bin/bindfs \
  35. --create-for-group=www-data \
  36. --create-for-user=www-data \
  37. --force-group="${MOUNT_USER}" \
  38. --force-user="${MOUNT_USER}" \
  39. "${volume_path}" \
  40. "${mount_path}"
  41. done
  42. #tree "${PWD}/traefik-volumes"
  43. #tree "${PWD}/webroot-volume" -L 1