Newer
Older
#!/bin/bash
function getConfig {
if [[ ! -n ${PHP_VERSION} ]]; then
while true; do
read -p "Which PHP version is your project using? " PHP_VERSION
case ${PHP_VERSION} in
7.0 ) break;;
7.1 ) break;;
7.2 ) break;;
* ) echo "Version not supported.";;
esac
done
fi
if [[ ! -n ${COMPOSER_DOWNGRADE} ]]; then
while true; do
read -p "Do you want to downgrade Composer to version 1? " COMPOSER_DOWNGRADE
case ${COMPOSER_DOWNGRADE} in
0 ) break;;
1 ) break;;
* ) echo "Only 1 or 0 are valid responses.";;
esac
done
fi
if [[ ! -n ${COMPOSE_PROJECT_NAME} ]]; then
read -p "Name your project (used as subdomain): " COMPOSE_PROJECT_NAME
fi
}
function startContainer {
if [[ -n ${COMPOSE_PROJECT_NAME} ]]; then
ID=$(docker container ls --all -q -f name=^${COMPOSE_PROJECT_NAME}_l3d$)
if [[ -n ${ID} ]]; then
docker start ${COMPOSE_PROJECT_NAME}_l3d
else
docker run --name ${COMPOSE_PROJECT_NAME}_l3d -dt \
--hostname ${COMPOSE_PROJECT_NAME}-l3d \
--user ${USERID}:${GROUPID} \

jurgenhaas
committed
--group-add ${GROUPIDS// / --group-add } \

jurgenhaas
committed
--env L3DSHELL=${L3DSHELL} \
--env COMPOSE_PROJECT_NAME=${COMPOSE_PROJECT_NAME} \
--env COMPOSER_DOWNGRADE=${COMPOSER_DOWNGRADE} \
--env PHP_VERSION=${PHP_VERSION} \
--env SSH_AUTH_SOCK=${SSHAUTHSOCK} \
--volume /var/run/docker.sock:/var/run/docker.sock \
--volume ${WORKDIR}:/drupal \

jurgenhaas
committed
--volume /etc/group:/etc/group:ro \
--volume /etc/passwd:/etc/passwd:ro \
--volume /etc/shadow:/etc/shadow:ro \
--volume /etc/sudoers:/etc/sudoers:ro \

jurgenhaas
committed
--volume /etc/sudoers.d:/etc/sudoers.d:ro \
--volume ${SSHAUTH}:${SSHAUTHSOCK} \
--volume ${HOMEDIR}:${HOMEDIR} \
--workdir /drupal \
--restart unless-stopped \
registry.lakedrops.com/docker/l3d/php-${PHP_VERSION}:${VERSION}
fi
docker exec -it \
--env HOMEDIR=${HOMEDIR} \
--env WORKDIR=${WORKDIR} \
--env SSHAUTH=${SSHAUTH} \
${COMPOSE_PROJECT_NAME}_l3d \
/usr/local/bin/.start
fi
}
if [[ -n $1 ]]; then
ID=$(docker container ls --all -q -f name=^$1_l3d$)
if [[ -n ${ID} ]]; then
PHP_VERSION=unknown
COMPOSE_PROJECT_NAME=$1
fi
fi
getConfig
startContainer