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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
case "${L3DHOSTOS}" in
Darwin*)
docker run --name ${COMPOSE_PROJECT_NAME}_l3d -dt \
--hostname ${COMPOSE_PROJECT_NAME}-l3d \
--group-add ${GROUPIDS// / --group-add } \
--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 \
--volume /etc/group:/etc/group:ro \
--volume /etc/passwd:/etc/passwd:ro \
--volume /etc/shadow:/etc/shadow:ro \
--volume /etc/sudoers:/etc/sudoers:ro \
--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}
;;
*)
docker run --name ${COMPOSE_PROJECT_NAME}_l3d -dt \
--hostname ${COMPOSE_PROJECT_NAME}-l3d \
--user ${USERID}:${GROUPID} \
--group-add ${GROUPIDS// / --group-add } \
--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 \
--volume /etc/group:/etc/group:ro \
--volume /etc/passwd:/etc/passwd:ro \
--volume /etc/shadow:/etc/shadow:ro \
--volume /etc/sudoers:/etc/sudoers:ro \
--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}
esac
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