Skip to content

Instantly share code, notes, and snippets.

@eduard-sukharev
Last active July 30, 2021 12:22
Show Gist options
  • Save eduard-sukharev/59e575250e8f09dd5026ca68469131ca to your computer and use it in GitHub Desktop.
Save eduard-sukharev/59e575250e8f09dd5026ca68469131ca to your computer and use it in GitHub Desktop.
Sample script to up a local dev environment with docker containers
#!/usr/bin/env bash
HELPER_CONTAINERS=false
PROJECT=my-app
while getopts "ha" option
do
case "${option}" in
a) HELPER_CONTAINERS=true;;
h) echo "Helper script to run app in local docker environment."
echo "Options:"
echo " -a Run all helper containers"
exit 0;
;;
esac
done
if hash ifconfig 2>/dev/null; then # for older systems with ifconfig
echo 'Using "ifconfig"...'
export DOCKER_XDEBUG_CONFIG="remote_host=`ifconfig docker0 | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p'`"
elif hash ip 2>/dev/null; then # for newer systems where ifconfig is deprecated
echo 'Using "ip"...'
export DOCKER_XDEBUG_CONFIG="remote_host=`ip route|awk '/docker0/ { print $9 }'`"
fi
echo $DOCKER_XDEBUG_CONFIG
docker-compose -p ${PROJECT} build
docker-compose -p ${PROJECT} up -d --force-recreate
docker-compose -p ${PROJECT} exec -w /var/www/html apache composer install --no-scripts
if [ ${HELPER_CONTAINERS} = false ]
then
docker-compose -p ${PROJECT} stop cron webgrind
fi
docker-compose -p ${PROJECT} exec -w /var/www/html apache ./vendor/bin/phinx migrate -v
docker-compose -p ${PROJECT} logs --follow
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment