added sh versions of the scripts
This commit is contained in:
parent
d6ca9fe93c
commit
746b84883e
8 changed files with 865 additions and 108 deletions
190
scripts/docker.sh
Executable file
190
scripts/docker.sh
Executable file
|
|
@ -0,0 +1,190 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Trading Bot Docker Management Script
|
||||
|
||||
# Colors for output
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
BLUE='\033[0;34m'
|
||||
CYAN='\033[0;36m'
|
||||
GRAY='\033[0;37m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# Default options
|
||||
ACTION=""
|
||||
SERVICE=""
|
||||
DEV=false
|
||||
|
||||
show_help() {
|
||||
echo ""
|
||||
echo -e "${GREEN}🤖 Trading Bot Docker Management${NC}"
|
||||
echo ""
|
||||
echo -e "${CYAN}Usage: $0 <action> [options]${NC}"
|
||||
echo ""
|
||||
echo -e "${YELLOW}Actions:${NC}"
|
||||
echo " start Start infrastructure services"
|
||||
echo " stop Stop infrastructure services"
|
||||
echo " restart Restart infrastructure services"
|
||||
echo " status Show service status"
|
||||
echo " logs Show service logs"
|
||||
echo " reset Reset all data (destructive)"
|
||||
echo " admin Start admin interfaces"
|
||||
echo " monitoring Start monitoring stack"
|
||||
echo " help Show this help"
|
||||
echo ""
|
||||
echo -e "${YELLOW}Options:${NC}"
|
||||
echo " --service <name> Specify a specific service"
|
||||
echo " --dev Use development configuration"
|
||||
echo ""
|
||||
echo -e "${CYAN}Examples:${NC}"
|
||||
echo " $0 start"
|
||||
echo " $0 start --dev"
|
||||
echo " $0 logs --service dragonfly"
|
||||
echo " $0 admin"
|
||||
}
|
||||
|
||||
# Parse command line arguments
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case $1 in
|
||||
start|stop|restart|status|logs|reset|admin|monitoring|help)
|
||||
ACTION="$1"
|
||||
shift
|
||||
;;
|
||||
--service|-s)
|
||||
SERVICE="$2"
|
||||
shift 2
|
||||
;;
|
||||
--dev|-d)
|
||||
DEV=true
|
||||
shift
|
||||
;;
|
||||
--help|-h)
|
||||
show_help
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
echo "Unknown option: $1"
|
||||
echo "Use --help for usage information"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ -z "$ACTION" ]; then
|
||||
echo "Error: Action is required"
|
||||
show_help
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Set up compose files
|
||||
if [ "$DEV" = true ]; then
|
||||
COMPOSE_FILES="-f docker-compose.yml -f docker-compose.dev.yml"
|
||||
else
|
||||
COMPOSE_FILES="-f docker-compose.yml"
|
||||
fi
|
||||
|
||||
case "$ACTION" in
|
||||
"start")
|
||||
echo -e "${GREEN}🚀 Starting Trading Bot infrastructure...${NC}"
|
||||
if [ -n "$SERVICE" ]; then
|
||||
docker-compose $COMPOSE_FILES up -d "$SERVICE"
|
||||
else
|
||||
docker-compose $COMPOSE_FILES up -d dragonfly postgres questdb
|
||||
fi
|
||||
echo -e "${GREEN}✅ Infrastructure started!${NC}"
|
||||
echo ""
|
||||
echo -e "${CYAN}🔗 Access Points:${NC}"
|
||||
echo " Dragonfly: localhost:6379"
|
||||
echo " PostgreSQL: localhost:5432"
|
||||
echo " QuestDB Console: http://localhost:9000"
|
||||
echo ""
|
||||
echo -e "${BLUE}💡 Use '$0 admin' to start admin interfaces${NC}"
|
||||
;;
|
||||
|
||||
"stop")
|
||||
echo -e "${YELLOW}🛑 Stopping Trading Bot infrastructure...${NC}"
|
||||
if [ -n "$SERVICE" ]; then
|
||||
docker-compose $COMPOSE_FILES stop "$SERVICE"
|
||||
else
|
||||
docker-compose $COMPOSE_FILES down
|
||||
fi
|
||||
echo -e "${GREEN}✅ Infrastructure stopped!${NC}"
|
||||
;;
|
||||
|
||||
"restart")
|
||||
echo -e "${YELLOW}🔄 Restarting Trading Bot infrastructure...${NC}"
|
||||
if [ -n "$SERVICE" ]; then
|
||||
docker-compose $COMPOSE_FILES restart "$SERVICE"
|
||||
else
|
||||
docker-compose $COMPOSE_FILES restart
|
||||
fi
|
||||
echo -e "${GREEN}✅ Infrastructure restarted!${NC}"
|
||||
;;
|
||||
|
||||
"status")
|
||||
echo -e "${CYAN}📊 Trading Bot Infrastructure Status:${NC}"
|
||||
docker-compose $COMPOSE_FILES ps
|
||||
echo ""
|
||||
echo -e "${CYAN}🔍 Health Checks:${NC}"
|
||||
docker ps --filter "name=trading-bot" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
|
||||
;;
|
||||
|
||||
"logs")
|
||||
if [ -n "$SERVICE" ]; then
|
||||
echo -e "${CYAN}📋 Logs for $SERVICE:${NC}"
|
||||
docker-compose $COMPOSE_FILES logs -f "$SERVICE"
|
||||
else
|
||||
echo -e "${CYAN}📋 All service logs:${NC}"
|
||||
docker-compose $COMPOSE_FILES logs -f
|
||||
fi
|
||||
;;
|
||||
|
||||
"reset")
|
||||
echo -e "${RED}⚠️ Resetting Trading Bot infrastructure (will delete all data)...${NC}"
|
||||
read -p "Are you sure? Type 'yes' to confirm: " confirm
|
||||
if [ "$confirm" = "yes" ]; then
|
||||
docker-compose $COMPOSE_FILES down -v
|
||||
echo -e "${YELLOW}🗑️ Volumes removed${NC}"
|
||||
docker-compose $COMPOSE_FILES up -d dragonfly postgres questdb
|
||||
echo -e "${GREEN}✅ Infrastructure reset complete!${NC}"
|
||||
else
|
||||
echo -e "${YELLOW}❌ Reset cancelled${NC}"
|
||||
fi
|
||||
;;
|
||||
|
||||
"admin")
|
||||
echo -e "${GREEN}🔧 Starting admin interfaces...${NC}"
|
||||
docker-compose $COMPOSE_FILES up -d redis-insight pgadmin
|
||||
echo -e "${GREEN}✅ Admin interfaces started!${NC}"
|
||||
echo ""
|
||||
echo -e "${CYAN}🔗 Admin Access:${NC}"
|
||||
echo " Redis Insight: http://localhost:8001"
|
||||
echo " PgAdmin: http://localhost:8080"
|
||||
echo " Email: admin@tradingbot.local"
|
||||
echo " Password: admin123"
|
||||
;;
|
||||
|
||||
"monitoring")
|
||||
echo -e "${GREEN}📊 Starting monitoring stack...${NC}"
|
||||
docker-compose $COMPOSE_FILES up -d prometheus grafana loki
|
||||
echo -e "${GREEN}✅ Monitoring started!${NC}"
|
||||
echo ""
|
||||
echo -e "${CYAN}🔗 Monitoring Access:${NC}"
|
||||
echo " Prometheus: http://localhost:9090"
|
||||
echo " Grafana: http://localhost:3000"
|
||||
echo " Username: admin"
|
||||
echo " Password: admin"
|
||||
echo " Loki: http://localhost:3100"
|
||||
;;
|
||||
|
||||
"help")
|
||||
show_help
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Unknown action: $ACTION"
|
||||
show_help
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
Loading…
Add table
Add a link
Reference in a new issue