Files
Julius Härtl f334ecfbdd WIP new structure
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-08-27 11:18:18 +02:00

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