X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=run-citadel.sh;h=398c779bd002777e2eaeab36fdc948c3811df6d4;hb=b9994af643b6329f691d55290f5d9443674131ef;hp=a763998e9862f83a88494d17e862f17e966cfcb5;hpb=f8943c6f2597101db46064435ef6a2af09cd0d79;p=citadel-docker.git diff --git a/run-citadel.sh b/run-citadel.sh index a763998..398c779 100755 --- a/run-citadel.sh +++ b/run-citadel.sh @@ -33,7 +33,12 @@ do 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 @@ -60,18 +65,26 @@ if ( ${migrate_mode} && ${database_cleanup_mode} ) ; then 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: #