Skip to content
Snippets Groups Projects
Commit ef20828d authored by jurgenhaas's avatar jurgenhaas
Browse files
- determine composer project name and php version from docker-compose.yml if available
- do not ask for composer downgrade anymore
- l3d should now also work without ssh-auth-sock
- no longer writes to .env if that's read-only
parent a0668ebf
No related branches found
No related tags found
1 merge request!39Merging develop into main
#!/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}
......
......@@ -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 \
......
......@@ -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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment