diff --git a/run/scripts/start b/run/scripts/start index c49a7a0e59763f6f016ba4723438cf1b32328a5e..367d7bfce76295e89a903e7112b78513d98f0cc6 100755 --- a/run/scripts/start +++ b/run/scripts/start @@ -1,6 +1,10 @@ #!/bin/bash function getConfig() { + if [[ -f "docker-compose.yml" ]]; then + COMPOSE_PROJECT_NAME=$(yq .name docker-compose.yml) + PHP_VERSION=$(yq .services.php.image docker-compose.yml | cut -d':' -f 2) + fi if [[ ! -n ${PHP_VERSION} ]]; then while true; do DEFAULT=8.1 @@ -23,24 +27,6 @@ function getConfig() { esac done fi - if [[ ! -n ${COMPOSER_DOWNGRADE} ]]; then - while true; do - DEFAULT=0 - read -p "Do you want to downgrade Composer to version 1 - 0=No, 1=Yes? [No] " VALUE - if [[ "x$VALUE" == "x" ]]; then - COMPOSER_DOWNGRADE=$DEFAULT - else - COMPOSER_DOWNGRADE=$VALUE - fi - case ${COMPOSER_DOWNGRADE} in - 0) break ;; - 1) break ;; - no|NO|No) COMPOSER_DOWNGRADE=0 ;; - yes|YES|Yes) COMPOSER_DOWNGRADE=1 ;; - *) echo "Only 1 or 0 are valid responses." ;; - esac - done - fi if [[ ! -n ${COMPOSE_PROJECT_NAME} ]]; then DEFAULT=$(basename $WORKDIR) read -p "Name your project (used as subdomain): [$DEFAULT]" VALUE @@ -80,13 +66,17 @@ function startContainer() { --env COMPOSE_PROJECT_NAME=${COMPOSE_PROJECT_NAME} --env COMPOSER_DOWNGRADE=${COMPOSER_DOWNGRADE} --env PHP_VERSION=${PHP_VERSION} - --env SSH_AUTH_SOCK=${SSHAUTHSOCK} --volume ${L3DDOCKERHOST}:/var/run/docker.sock --volume ${WORKDIR}:/drupal - --volume ${SSHAUTH}:${SSHAUTHSOCK} --volume ${HOMEDIR}:/home/${USERNAME} --workdir /drupal ) + if [[ -n "$SSHAUTH" ]]; then + start_params+=( + --env SSH_AUTH_SOCK=${SSHAUTHSOCK} + --volume ${SSHAUTH}:${SSHAUTHSOCK} + ) + fi if [[ ${L3DHOSTOS} != Darwin ]]; then start_params+=( --user ${USERID}:${GROUPID} @@ -116,8 +106,12 @@ function startContainer() { --hostname "L3D" --env HOMEDIR=${HOMEDIR} --env WORKDIR=${WORKDIR} - --env SSHAUTH=${SSHAUTH} ) + if [[ -n "$SSHAUTH" ]]; then + start_params+=( + --env SSHAUTH=${SSHAUTH} + ) + fi docker run -it --rm \ "${start_params[@]}" \ registry.lakedrops.com/docker/l3d/php-${PHP_VERSION}:${L3DVERSION} \ @@ -129,8 +123,12 @@ function startContainer() { start_params=( --env HOMEDIR=${HOMEDIR} --env WORKDIR=${WORKDIR} - --env SSHAUTH=${SSHAUTH} ) + if [[ -n "$SSHAUTH" ]]; then + start_params+=( + --env SSHAUTH=${SSHAUTH} + ) + fi if [[ "$PHP_VERSION" != "unknown" ]]; then start_params+=( --env PHP_VERSION=${PHP_VERSION} diff --git a/setup/scripts/l3d b/setup/scripts/l3d index 9592dd7206f4cd394a8264628cb6096129ba9db2..c4ec7d208a7afdab87ce30b7a1a98e9ddff5f50e 100755 --- a/setup/scripts/l3d +++ b/setup/scripts/l3d @@ -4,7 +4,6 @@ GROUPID=$(id -g) GROUPIDS=$(id -G) L3DHOSTOS="$(uname -s)" L3DDOCKERHOST=/var/run/docker.sock -SSHAUTH=${SSH_AUTH_SOCK} SSHAUTHSOCK=/ssh-agent USERID=$(id -u) USERNAME=${USER} @@ -25,9 +24,11 @@ case "${L3DHOSTOS}" in USERNAME=root # This variable is used to access the ssh agent on MacOS. - SSHAUTHMAGICPATH="/run/host-services/ssh-auth.sock" - SSHAUTH=${SSHAUTHMAGICPATH} - SSHAUTHSOCK=${SSHAUTHMAGICPATH} + if [[ -f "/run/host-services/ssh-auth.sock" ]]; then + SSHAUTHMAGICPATH="/run/host-services/ssh-auth.sock" + SSH_AUTH_SOCK=${SSHAUTHMAGICPATH} + SSHAUTHSOCK=${SSHAUTHMAGICPATH} + fi if [[ $? > 0 ]]; then exit $? fi @@ -110,12 +111,16 @@ project_params=( --env L3D_ALWAYS_CLEANUP=${L3D_ALWAYS_CLEANUP} --env L3D_CONFIG=${L3D_CONFIG} --env WORKDIR=${PWD} - --env SSHAUTH=${SSHAUTH} - --env SSHAUTHSOCK=${SSHAUTHSOCK} --env PHP_VERSION=${PHP_VERSION} --env COMPOSE_PROJECT_NAME=${COMPOSE_PROJECT_NAME} --env COMPOSER_DOWNGRADE=${COMPOSER_DOWNGRADE} ) +if [[ -n "$SSH_AUTH_SOCK" ]]; then + project_params+=( + --env SSHAUTH=${SSH_AUTH_SOCK} + --env SSHAUTHSOCK=${SSHAUTHSOCK} + ) +fi # Execute project container docker exec -it \ diff --git a/start.sh b/start.sh index 31f57d97daed4ec6b00887a1a7555ea9ae77c43e..f54a8aa83fcafc76611345f6ba495ec7f15527f9 100755 --- a/start.sh +++ b/start.sh @@ -32,6 +32,9 @@ function restoreEnvFile { if [[ "${COMPOSE_PROJECT_NAME}" == "." ]]; then return fi + if [[ ! -w ".env" ]]; then + return + fi if [[ -n ${PHP_VERSION} ]]; then echo "PHP_VERSION=${PHP_VERSION}" >>.env fi @@ -230,7 +233,9 @@ function setupAhoy { } if [[ -n ${PHP_VERSION} ]]; then - echo "PHP_VERSION=${PHP_VERSION}" >>.env + if [[ -w ".env" ]]; then + echo "PHP_VERSION=${PHP_VERSION}" >>.env + fi fi readEnv # Validate PHP version