f334ecfbdd
Signed-off-by: Julius Härtl <jus@bitgrid.net>
105 lines
2.6 KiB
Bash
Executable File
105 lines
2.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
usage() {
|
|
for entry in "$HOME/.nextcloud/nc-dev-setup"/*.conf
|
|
do
|
|
FILENAME=`basename $entry`
|
|
CONFIGURATIONS="${FILENAME%.*} ${CONFIGURATIONS}"
|
|
done
|
|
cat <<EOF
|
|
Usage: `basename "$0"` CONFIGURATION COMMAND ARGS...
|
|
|
|
Possible commands
|
|
create
|
|
start
|
|
stop
|
|
status
|
|
live
|
|
delete
|
|
occ DBTYPE ARGS...
|
|
|
|
Available for CONFIGURATION: $CONFIGURATIONS
|
|
|
|
EOF
|
|
}
|
|
|
|
if [ $# -eq 0 ]; then
|
|
echo "No arguments provided"
|
|
|
|
usage
|
|
exit 0
|
|
fi
|
|
|
|
CONTAINER_SET=$1
|
|
COMMAND=$2
|
|
SETUP_TYPE=$3
|
|
|
|
CONF_FILE=$HOME/.nextcloud/nc-dev-setup/$CONTAINER_SET.conf
|
|
|
|
if [ ! -e "$CONF_FILE" ] ; then
|
|
echo "No configuration found for ${CONTAINER_SET}."
|
|
exit 1
|
|
fi
|
|
|
|
source $CONF_FILE
|
|
|
|
export NEXTCLOUD_SOURCE
|
|
export NEXTCLOUD_AUTOINSTALL
|
|
export NEXTCLOUD_AUTOINSTALL_APPS
|
|
export NEXTCLOUD_SQLITE_PORT
|
|
export NEXTCLOUD_MYSQL_PORT
|
|
export NEXTCLOUD_POSTGRES_PORT
|
|
|
|
export COMPOSE_PROJECT_NAME=$CONTAINER_SET
|
|
export COMPOSE_FILE=$HOME/.nextcloud/nc-dev-setup/docker-compose.yml
|
|
export COMPOSE_FILE=$HOME/repos/nextcloud/nc-dev/docker-compose.yml
|
|
|
|
echo $COMPOSE_FILE
|
|
LDAP_FILE=$HOME/repos/nextcloud/nc-dev/docker-compose.ldap.yml
|
|
ELASTIC_FILE=$HOME/repos/nextcloud/nc-dev/docker-compose.elasticsearch.yml
|
|
if [ -z ${ENABLE_LDAP+x} ]; then true; else export COMPOSE_FILE=$COMPOSE_FILE:$LDAP_FILE ; fi
|
|
if [ -z ${ENABLE_ELASTIC+x} ]; then true; else export COMPOSE_FILE=$COMPOSE_FILE:$ELASTIC_FILE ; fi
|
|
|
|
echo $COMPOSE_FILE
|
|
|
|
|
|
if [ "$2" = "status" ]; then
|
|
docker-compose ps
|
|
elif [ "$2" = "init" ]; then
|
|
docker-compose create
|
|
elif [ "$2" = "live" ]; then
|
|
docker-compose up "${@:3}"
|
|
elif [ "$2" = "start" ]; then
|
|
docker-compose start
|
|
elif [ "$2" = "stop" ]; then
|
|
docker-compose stop
|
|
elif [ "$2" = "delete" ]; then
|
|
docker-compose stop
|
|
docker-compose rm -fv
|
|
elif [ "$2" = "occ" ]; then
|
|
if [ "$3" = "" ]; then
|
|
echo "No database type provided."
|
|
usage
|
|
exit 0
|
|
fi
|
|
CONTAINER_NAME="${CONTAINER_SET}_nc-server-${SETUP_TYPE}_1"
|
|
docker exec -t $CONTAINER_NAME /usr/local/bin/occ "${@:4}"
|
|
elif [ "$2" = "shell" ]; then
|
|
if [ ! $# -eq 3 ]; then
|
|
echo "No database type provided."
|
|
usage
|
|
exit 0
|
|
fi
|
|
CONTAINER_NAME="${CONTAINER_SET}_nc-server-${SETUP_TYPE}_1"
|
|
docker exec -ti $CONTAINER_NAME /bin/bash
|
|
elif [ "$2" = "blackfire" ]; then
|
|
if [ ! "$(docker ps -q -f name=nc-blackfire)" ]; then
|
|
if [ "$(docker ps -aq -f status=exited -f name=nc-blackfire)" ]; then
|
|
# cleanup
|
|
docker rm nc-blackfire
|
|
fi
|
|
# run your container
|
|
docker run --name="nc-blackfire" --network="${CONTAINER_SET}_default" -d -e BLACKFIRE_SERVER_ID=$BLACKFIRE_SERVER_ID -e BLACKFIRE_SERVER_TOKEN=$BLACKFIRE_SERVER_TOKEN -e BLACKFIRE_LOG_LEVEL=4 blackfire/blackfire
|
|
fi
|
|
fi
|