From 4f79e1d20d0a64791a9b78fd159f67dd7cb99d09 Mon Sep 17 00:00:00 2001 From: Flo Date: Sat, 21 Dec 2024 16:23:03 +0100 Subject: [PATCH] drun check --- bin/drun | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/bin/drun b/bin/drun index 7f7cf9e..5ef4219 100644 --- a/bin/drun +++ b/bin/drun @@ -48,30 +48,34 @@ drun() { return; fi - denv_info_msg "[$SYSTEM_IDENTIFIER]: $DOCKER_EXEC_COMMAND" - + # Set .env variables if a file exist + if [[ -f "$SYSTEM_ENV_FILE" ]] ; then + export $(grep -v '^#' "$SYSTEM_ENV_FILE" | xargs) + fi + APP_CONTAINER=$(docker compose -f "$DOCKER_COMPOSE_FILE" config --services | grep 'app') - if [[ ! -z "$APP_CONTAINER" ]] ; then - denv_info_msg "App Container: '$APP_CONTAINER'" + denv_info_msg "[$SYSTEM_IDENTIFIER]($APP_CONTAINER): $DOCKER_EXEC_COMMAND" CONTAINER_ID=$(docker ps -qf "name=$APP_CONTAINER") - if [[ -t 0 && -t 1 ]]; then - if [[ -f "$SYSTEM_ENV_FILE" ]] ; then - export $(grep -v '^#' "$SYSTEM_ENV_FILE" | xargs) - fi + if [ -z "$CONTAINER_ID" ]; then + denv_error_msg "No active container found for '$APP_CONTAINER'" + return; + fi - denv_echo_msg "docker exec -it" + if [[ -t 0 && -t 1 ]]; then docker exec -it "$CONTAINER_ID" $DOCKER_EXEC_COMMAND - - # Unset .env variables if a file exist - if [[ -f "$SYSTEM_ENV_FILE" ]] ; then - unset $(grep -v '^#' "$SYSTEM_ENV_FILE" | sed -E 's/(.*)=.*/\1/' | xargs) - fi else - denv_echo_msg "docker compose" docker exec "$CONTAINER_ID" $DOCKER_EXEC_COMMAND fi + else + denv_error_msg "No 'app' container found in $DOCKER_COMPOSE_FILE" + return; + fi + + # Unset .env variables if a file exist + if [[ -f "$SYSTEM_ENV_FILE" ]] ; then + unset $(grep -v '^#' "$SYSTEM_ENV_FILE" | sed -E 's/(.*)=.*/\1/' | xargs) fi }