Files
wp-docker-setup/mount-volumes.sh
2024-10-12 16:35:50 +02:00

48 lines
1.3 KiB
Bash
Executable File

#! /bin/sh
#
if [ "$(id -u)" -ne 0 ]; then
echo "must be ran as root"
exit 1
fi
set -a
. "${PWD}/.env"
. "${PWD}/env_files/manage.env"
set +a
volumes="certs dynamic logs root static webroot"
for volume in ${volumes}; do
mount_path="${PWD}/traefik-volumes/${volume}"
volume_path="${DOCKER_VOLUMES_PATH}/${PREFIX}-traefik-${volume}/_data"
if [ "${volume}" = "webroot" ]; then
mount_path="${PWD}/${volume}-volume"
volume_path="${DOCKER_VOLUMES_PATH}/${PREFIX}-${volume}/_data"
fi
if [ "${volume}" = "root" ]; then
mount_path="${PWD}/${volume}-volume"
volume_path="${DOCKER_VOLUMES_PATH}/${PREFIX}-${volume}/_data"
fi
sudo -u "${MOUNT_USER}" mkdir -p "${mount_path}"
if mountpoint "${mount_path}" -q; then
echo "exiting because something is mounted at ${mount_path}"
exit 1
fi
# if [ -n "$(find "${mount_path}" -maxdepth 0 -type d -empty 2> /dev/null)" ]; then
if [ "$(ls -A "${mount_path}")" ]; then
echo "${mount_path} is not empty"
exit 1
fi
echo "mounting ${mount_path}"
sudo /usr/bin/bindfs \
--create-for-group=www-data \
--create-for-user=www-data \
--force-group="${MOUNT_USER}" \
--force-user="${MOUNT_USER}" \
"${volume_path}" \
"${mount_path}"
done
#tree "${PWD}/traefik-volumes"
#tree "${PWD}/webroot-volume" -L 1