48 lines
1.3 KiB
Bash
Executable File
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
|