#!/bin/bash

# Check if docker and docker-compose are installed
command -v docker >/dev/null 2>&1 || { echo "docker is not installed. Aborting." >&2; exit 1; }
command -v docker-compose >/dev/null 2>&1 || { echo "docker-compose is not installed. Aborting." >&2; exit 1; }

if [ -z "$COMPOSER_HOME" ]; then
    package_dir="${HOME}/.composer/vendor/brettt89/ss4-docker-compose"
else
    package_dir="${COMPOSER_HOME}/vendor/brettt89/ss4-docker-compose"
fi

action=$1

# Generate project name from folder name
projectname=${PWD##*/}
projectname=`echo ${projectname// /_}`
projectname=`echo ${projectname} | tr '[A-Z]' '[a-z]'`

export COMPOSE_PROJECT_NAME=${projectname}

# Wrap docker-compose command to use config from package
wrapped_command="docker-compose -f ${package_dir}/src/project/docker-compose.yml"

# Wrap docker-compose command to use config from package, passing Wordpress context on run action
if [ "$action" = "up" ]; then
    docker-compose -p "ssproxy" -f ${package_dir}/src/proxy/docker-compose.yml up -d
	${wrapped_command} $*

    # Print information about running app container
	echo "###"
	echo "### Done! Your website is listening on  : http://${projectname}.local/"
	echo "###"
	echo "### NOTE: You may need to add a DNS route for http://${projectname}.local/ to 127.0.0.1"
	echo "###"
	echo "### E.g."
	echo "###      $ sudo echo \"127.0.0.1    ${projectname}.local\" >> /etc/hosts"
	echo "###"
elif [ "$action" = "ssh" ]; then
    ${wrapped_command} exec web /bin/bash
else
	${wrapped_command} $*
fi
