mirror of
https://github.com/EvolutionAPI/evolution-api.git
synced 2025-07-16 04:02:54 -06:00
Add chatfluxctl script to control the container stack
This commit is contained in:
parent
c49f6f6702
commit
c44e6a1c32
87
chatfluxctl
Executable file
87
chatfluxctl
Executable file
@ -0,0 +1,87 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ "$#" -lt 3 ]; then
|
||||
echo "Usage: $0 <environment> <action> <service_name>"
|
||||
echo "Environment: staging|production"
|
||||
echo "Action: start|stop"
|
||||
echo "Service: service_name|all"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
ENVIRONMENT=$1
|
||||
ACTION=$2
|
||||
SERVICE_NAME=$3
|
||||
BASE_COMPOSE=""
|
||||
ENV_COMPOSE=""
|
||||
DOCKER_COMPOSE_CMD="docker compose"
|
||||
|
||||
# Check for both yml and yaml extensions for base compose
|
||||
if [ -f "docker-compose.yml" ]; then
|
||||
BASE_COMPOSE="docker-compose.yml"
|
||||
elif [ -f "docker-compose.yaml" ]; then
|
||||
BASE_COMPOSE="docker-compose.yaml"
|
||||
else
|
||||
echo "Error: Base docker-compose file not found (tried .yml and .yaml)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check for both yml and yaml extensions for environment compose
|
||||
if [ -f "docker-compose.${ENVIRONMENT}.yml" ]; then
|
||||
ENV_COMPOSE="docker-compose.${ENVIRONMENT}.yml"
|
||||
elif [ -f "docker-compose.${ENVIRONMENT}.yaml" ]; then
|
||||
ENV_COMPOSE="docker-compose.${ENVIRONMENT}.yaml"
|
||||
else
|
||||
echo "Error: Environment docker-compose file not found (tried .yml and .yaml)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Validate environment
|
||||
if [ "$ENVIRONMENT" != "staging" ] && [ "$ENVIRONMENT" != "production" ]; then
|
||||
echo "Error: Environment must be either 'staging' or 'production'"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Validate action
|
||||
if [ "$ACTION" != "start" ] && [ "$ACTION" != "stop" ]; then
|
||||
echo "Error: Action must be either 'start' or 'stop'"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Function to check if service exists in compose files
|
||||
check_service() {
|
||||
local service=$1
|
||||
if [ "$service" != "all" ]; then
|
||||
if ! $DOCKER_COMPOSE_CMD -f $BASE_COMPOSE -f $ENV_COMPOSE config --services | grep -q "^$service$"; then
|
||||
echo "Error: Service '$service' not found in docker-compose files"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# Validate service exists
|
||||
check_service $SERVICE_NAME
|
||||
|
||||
if [ "$ACTION" == "stop" ]; then
|
||||
echo "Stopping service(s): $SERVICE_NAME"
|
||||
if [ "$SERVICE_NAME" == "all" ]; then
|
||||
$DOCKER_COMPOSE_CMD -f $BASE_COMPOSE -f $ENV_COMPOSE down
|
||||
else
|
||||
$DOCKER_COMPOSE_CMD -f $BASE_COMPOSE -f $ENV_COMPOSE stop $SERVICE_NAME
|
||||
$DOCKER_COMPOSE_CMD -f $BASE_COMPOSE -f $ENV_COMPOSE rm -f $SERVICE_NAME
|
||||
fi
|
||||
else
|
||||
echo "Starting service(s): $SERVICE_NAME"
|
||||
if [ "$SERVICE_NAME" == "all" ]; then
|
||||
$DOCKER_COMPOSE_CMD -f $BASE_COMPOSE -f $ENV_COMPOSE up -d
|
||||
else
|
||||
$DOCKER_COMPOSE_CMD -f $BASE_COMPOSE -f $ENV_COMPOSE up -d $SERVICE_NAME
|
||||
fi
|
||||
fi
|
||||
|
||||
# Check service status
|
||||
echo "Service status:"
|
||||
if [ "$SERVICE_NAME" == "all" ]; then
|
||||
$DOCKER_COMPOSE_CMD -f $BASE_COMPOSE -f $ENV_COMPOSE ps
|
||||
else
|
||||
$DOCKER_COMPOSE_CMD -f $BASE_COMPOSE -f $ENV_COMPOSE ps $SERVICE_NAME
|
||||
fi
|
Loading…
Reference in New Issue
Block a user