CTDL_DIR=${OPTARG}
;;
*)
- echo "$0: usage: $0 [-v volume_name] [-h home_directory] [-m] [-v] container_image_name [other parameters]"
+ echo
+ echo "$0: usage: $0 [-v volume_name] [-h home_directory] [-m] [-d] container_image_name"
+ echo " -v volume_name Use or create a Citadel database stored in a Docker volume called 'volume_name'"
+ echo " -h home_directory Use or create a Citadel database stored in 'home_directory' on the host system"
+ echo " -m Enter migrate mode, to copy a remote Citadel installation to this host"
+ echo " -d Attempt to recover a corrupt database"
exit 1
;;
esac
exit 3
fi
-docker version >/dev/null 2>&1 || {
- echo Docker engine is not installed on this host.
- exit 1
-}
+docker run -it --rm $1 -c || exit 1
+
+n_args=""
+c_args=""
+
+if ${migrate_mode} ; then
+ c_args="-m" # Tell ctdlvisor to run ctdlmigrate
+elif ${database_cleanup_mode} ; then
+ c_args="-d" # Tell ctdlvisor to run database_cleanup.sh
+else
+ n_args="--network host" # Only open ports if we're running in normal mode
+fi
exec docker run \
--name citadel \
-it \
--rm \
- --network host \
+ ${n_args} \
--mount type=${CTDL_VOL},source=${CTDL_DIR},target=/citadel-data \
- $*
+ $1 ${c_args}
# Explanation of the above options:
#