86 lines
2.7 KiB
Bash
Executable File
86 lines
2.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Farben
|
|
GREEN='\033[0;32m'
|
|
BLUE='\033[0;34m'
|
|
YELLOW='\033[1;33m'
|
|
RED='\033[0;31m'
|
|
NC='\033[0m'
|
|
|
|
echo -e "${BLUE}═══════════════════════════════════════════════════════${NC}"
|
|
echo -e "${BLUE} Flutter Tank App - Docker Deployment${NC}"
|
|
echo -e "${BLUE}═══════════════════════════════════════════════════════${NC}"
|
|
echo ""
|
|
|
|
# Prüfen ob Docker installiert ist
|
|
if ! command -v docker &> /dev/null; then
|
|
echo -e "${RED}❌ Docker ist nicht installiert!${NC}"
|
|
echo -e "${YELLOW}Installieren Sie Docker: https://docs.docker.com/get-docker/${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
if ! command -v docker-compose &> /dev/null; then
|
|
echo -e "${RED}❌ Docker Compose ist nicht installiert!${NC}"
|
|
echo -e "${YELLOW}Installieren Sie Docker Compose: https://docs.docker.com/compose/install/${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
echo -e "${GREEN}✅ Docker und Docker Compose gefunden${NC}"
|
|
echo ""
|
|
|
|
# Build Option
|
|
echo -e "${YELLOW}Wählen Sie eine Option:${NC}"
|
|
echo "1) Nur Flutter Web App bauen"
|
|
echo "2) Flutter Web App + Proxy Server bauen"
|
|
echo "3) Alles bauen und starten"
|
|
echo "4) Nur starten (ohne neu zu bauen)"
|
|
echo "5) Stoppen"
|
|
echo "6) Logs anzeigen"
|
|
read -p "Option (1-6): " option
|
|
|
|
case $option in
|
|
1)
|
|
echo -e "${BLUE}🔨 Baue Flutter Web App...${NC}"
|
|
docker build -t flutter-tank-web:latest .
|
|
echo -e "${GREEN}✅ Build abgeschlossen!${NC}"
|
|
echo -e "${YELLOW}Zum Starten: docker run -p 8080:80 flutter-tank-web:latest${NC}"
|
|
;;
|
|
2)
|
|
echo -e "${BLUE}🔨 Baue alle Images...${NC}"
|
|
docker-compose build
|
|
echo -e "${GREEN}✅ Build abgeschlossen!${NC}"
|
|
;;
|
|
3)
|
|
echo -e "${BLUE}🔨 Baue und starte alle Services...${NC}"
|
|
docker-compose up -d --build
|
|
echo ""
|
|
echo -e "${GREEN}✅ Services gestartet!${NC}"
|
|
echo ""
|
|
echo -e "${YELLOW}📡 Verfügbare Endpoints:${NC}"
|
|
echo -e " Flutter Web App: ${GREEN}http://localhost:8080${NC}"
|
|
echo -e " Proxy Server: ${GREEN}http://localhost:3000${NC}"
|
|
echo ""
|
|
echo -e "${YELLOW}📊 Status prüfen:${NC}"
|
|
docker-compose ps
|
|
;;
|
|
4)
|
|
echo -e "${BLUE}🚀 Starte Services...${NC}"
|
|
docker-compose up -d
|
|
echo -e "${GREEN}✅ Services gestartet!${NC}"
|
|
docker-compose ps
|
|
;;
|
|
5)
|
|
echo -e "${BLUE}🛑 Stoppe Services...${NC}"
|
|
docker-compose down
|
|
echo -e "${GREEN}✅ Services gestoppt!${NC}"
|
|
;;
|
|
6)
|
|
echo -e "${BLUE}📋 Zeige Logs...${NC}"
|
|
docker-compose logs -f
|
|
;;
|
|
*)
|
|
echo -e "${RED}❌ Ungültige Option${NC}"
|
|
exit 1
|
|
;;
|
|
esac
|