59 lines
1.7 KiB
Bash
Executable File
59 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Function to display usage information
|
|
usage() {
|
|
echo "Usage: source $0 [dev|prod]"
|
|
echo " dev : Switch to development environment"
|
|
echo " prod : Switch to production environment"
|
|
}
|
|
|
|
# Check if the script is sourced
|
|
if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
|
|
echo "Error: This script must be sourced, not executed directly."
|
|
echo "Please run: source $0 [dev|prod]"
|
|
exit 1
|
|
fi
|
|
|
|
# Check if an argument is provided
|
|
if [ $# -eq 0 ]; then
|
|
usage
|
|
return 1
|
|
fi
|
|
|
|
# Set variables based on the environment
|
|
case $1 in
|
|
dev)
|
|
DOCKER_CONTEXT="default"
|
|
COMPOSE_FILE="compose_dev.yaml"
|
|
;;
|
|
prod)
|
|
DOCKER_CONTEXT="mxz536.stackhero-network.com"
|
|
COMPOSE_FILE="compose_stackhero.yaml"
|
|
;;
|
|
*)
|
|
echo "Invalid environment. Use 'dev' or 'prod'."
|
|
usage
|
|
return 1
|
|
;;
|
|
esac
|
|
|
|
# Switch Docker context
|
|
echo "Switching to Docker context: $DOCKER_CONTEXT"
|
|
docker context use $DOCKER_CONTEXT
|
|
|
|
# Set the COMPOSE_FILE environment variable
|
|
export COMPOSE_FILE=$COMPOSE_FILE
|
|
echo "Set COMPOSE_FILE to $COMPOSE_FILE"
|
|
|
|
# Define aliases for common Docker commands
|
|
alias docker-compose="docker compose -f $COMPOSE_FILE"
|
|
alias dc="docker compose -f $COMPOSE_FILE"
|
|
alias dcup="docker compose -f $COMPOSE_FILE up -d --no-build --remove-orphans"
|
|
alias dcdown="docker compose -f $COMPOSE_FILE down"
|
|
alias dcps="docker compose -f $COMPOSE_FILE ps"
|
|
alias dclogs="docker compose -f $COMPOSE_FILE logs"
|
|
alias dcpull="docker compose -f $COMPOSE_FILE pull"
|
|
alias dcrefresh="docker compose -f $COMPOSE_FILE pull"
|
|
|
|
echo "Docker environment switched to $1"
|
|
echo "You can now use 'docker-compose', 'dc', 'dcup', 'dcdown', 'dcps', 'dclogs' , dcpull or dcrefresh commands" |