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 #!/bin/bash
function getConfig() { 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 if [[ ! -n ${PHP_VERSION} ]]; then
while true; do while true; do
DEFAULT=8.1 DEFAULT=8.1
...@@ -23,24 +27,6 @@ function getConfig() { ...@@ -23,24 +27,6 @@ function getConfig() {
esac esac
done done
fi 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 if [[ ! -n ${COMPOSE_PROJECT_NAME} ]]; then
DEFAULT=$(basename $WORKDIR) DEFAULT=$(basename $WORKDIR)
read -p "Name your project (used as subdomain): [$DEFAULT]" VALUE read -p "Name your project (used as subdomain): [$DEFAULT]" VALUE
...@@ -80,13 +66,17 @@ function startContainer() { ...@@ -80,13 +66,17 @@ function startContainer() {
--env COMPOSE_PROJECT_NAME=${COMPOSE_PROJECT_NAME} --env COMPOSE_PROJECT_NAME=${COMPOSE_PROJECT_NAME}
--env COMPOSER_DOWNGRADE=${COMPOSER_DOWNGRADE} --env COMPOSER_DOWNGRADE=${COMPOSER_DOWNGRADE}
--env PHP_VERSION=${PHP_VERSION} --env PHP_VERSION=${PHP_VERSION}
--env SSH_AUTH_SOCK=${SSHAUTHSOCK}
--volume ${L3DDOCKERHOST}:/var/run/docker.sock --volume ${L3DDOCKERHOST}:/var/run/docker.sock
--volume ${WORKDIR}:/drupal --volume ${WORKDIR}:/drupal
--volume ${SSHAUTH}:${SSHAUTHSOCK}
--volume ${HOMEDIR}:/home/${USERNAME} --volume ${HOMEDIR}:/home/${USERNAME}
--workdir /drupal --workdir /drupal
) )
if [[ -n "$SSHAUTH" ]]; then
start_params+=(
--env SSH_AUTH_SOCK=${SSHAUTHSOCK}
--volume ${SSHAUTH}:${SSHAUTHSOCK}
)
fi
if [[ ${L3DHOSTOS} != Darwin ]]; then if [[ ${L3DHOSTOS} != Darwin ]]; then
start_params+=( start_params+=(
--user ${USERID}:${GROUPID} --user ${USERID}:${GROUPID}
...@@ -116,8 +106,12 @@ function startContainer() { ...@@ -116,8 +106,12 @@ function startContainer() {
--hostname "L3D" --hostname "L3D"
--env HOMEDIR=${HOMEDIR} --env HOMEDIR=${HOMEDIR}
--env WORKDIR=${WORKDIR} --env WORKDIR=${WORKDIR}
--env SSHAUTH=${SSHAUTH}
) )
if [[ -n "$SSHAUTH" ]]; then
start_params+=(
--env SSHAUTH=${SSHAUTH}
)
fi
docker run -it --rm \ docker run -it --rm \
"${start_params[@]}" \ "${start_params[@]}" \
registry.lakedrops.com/docker/l3d/php-${PHP_VERSION}:${L3DVERSION} \ registry.lakedrops.com/docker/l3d/php-${PHP_VERSION}:${L3DVERSION} \
...@@ -129,8 +123,12 @@ function startContainer() { ...@@ -129,8 +123,12 @@ function startContainer() {
start_params=( start_params=(
--env HOMEDIR=${HOMEDIR} --env HOMEDIR=${HOMEDIR}
--env WORKDIR=${WORKDIR} --env WORKDIR=${WORKDIR}
--env SSHAUTH=${SSHAUTH}
) )
if [[ -n "$SSHAUTH" ]]; then
start_params+=(
--env SSHAUTH=${SSHAUTH}
)
fi
if [[ "$PHP_VERSION" != "unknown" ]]; then if [[ "$PHP_VERSION" != "unknown" ]]; then
start_params+=( start_params+=(
--env PHP_VERSION=${PHP_VERSION} --env PHP_VERSION=${PHP_VERSION}
......
...@@ -4,7 +4,6 @@ GROUPID=$(id -g) ...@@ -4,7 +4,6 @@ GROUPID=$(id -g)
GROUPIDS=$(id -G) GROUPIDS=$(id -G)
L3DHOSTOS="$(uname -s)" L3DHOSTOS="$(uname -s)"
L3DDOCKERHOST=/var/run/docker.sock L3DDOCKERHOST=/var/run/docker.sock
SSHAUTH=${SSH_AUTH_SOCK}
SSHAUTHSOCK=/ssh-agent SSHAUTHSOCK=/ssh-agent
USERID=$(id -u) USERID=$(id -u)
USERNAME=${USER} USERNAME=${USER}
...@@ -25,9 +24,11 @@ case "${L3DHOSTOS}" in ...@@ -25,9 +24,11 @@ case "${L3DHOSTOS}" in
USERNAME=root USERNAME=root
# This variable is used to access the ssh agent on MacOS. # This variable is used to access the ssh agent on MacOS.
SSHAUTHMAGICPATH="/run/host-services/ssh-auth.sock" if [[ -f "/run/host-services/ssh-auth.sock" ]]; then
SSHAUTH=${SSHAUTHMAGICPATH} SSHAUTHMAGICPATH="/run/host-services/ssh-auth.sock"
SSHAUTHSOCK=${SSHAUTHMAGICPATH} SSH_AUTH_SOCK=${SSHAUTHMAGICPATH}
SSHAUTHSOCK=${SSHAUTHMAGICPATH}
fi
if [[ $? > 0 ]]; then if [[ $? > 0 ]]; then
exit $? exit $?
fi fi
...@@ -110,12 +111,16 @@ project_params=( ...@@ -110,12 +111,16 @@ project_params=(
--env L3D_ALWAYS_CLEANUP=${L3D_ALWAYS_CLEANUP} --env L3D_ALWAYS_CLEANUP=${L3D_ALWAYS_CLEANUP}
--env L3D_CONFIG=${L3D_CONFIG} --env L3D_CONFIG=${L3D_CONFIG}
--env WORKDIR=${PWD} --env WORKDIR=${PWD}
--env SSHAUTH=${SSHAUTH}
--env SSHAUTHSOCK=${SSHAUTHSOCK}
--env PHP_VERSION=${PHP_VERSION} --env PHP_VERSION=${PHP_VERSION}
--env COMPOSE_PROJECT_NAME=${COMPOSE_PROJECT_NAME} --env COMPOSE_PROJECT_NAME=${COMPOSE_PROJECT_NAME}
--env COMPOSER_DOWNGRADE=${COMPOSER_DOWNGRADE} --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 # Execute project container
docker exec -it \ docker exec -it \
......
...@@ -32,6 +32,9 @@ function restoreEnvFile { ...@@ -32,6 +32,9 @@ function restoreEnvFile {
if [[ "${COMPOSE_PROJECT_NAME}" == "." ]]; then if [[ "${COMPOSE_PROJECT_NAME}" == "." ]]; then
return return
fi fi
if [[ ! -w ".env" ]]; then
return
fi
if [[ -n ${PHP_VERSION} ]]; then if [[ -n ${PHP_VERSION} ]]; then
echo "PHP_VERSION=${PHP_VERSION}" >>.env echo "PHP_VERSION=${PHP_VERSION}" >>.env
fi fi
...@@ -230,7 +233,9 @@ function setupAhoy { ...@@ -230,7 +233,9 @@ function setupAhoy {
} }
if [[ -n ${PHP_VERSION} ]]; then if [[ -n ${PHP_VERSION} ]]; then
echo "PHP_VERSION=${PHP_VERSION}" >>.env if [[ -w ".env" ]]; then
echo "PHP_VERSION=${PHP_VERSION}" >>.env
fi
fi fi
readEnv readEnv
# Validate PHP version # 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