#!/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;; 7.3 ) break;; 7.4 ) break;; 8.0 ) 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 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