1#!/bin/bash
Docker build script for Strudel Usage: ./docker-build.sh [dev|prod|both]
6set -e
8RED='\033[0;31m' 9GREEN='\033[0;32m' 10YELLOW='\033[1;33m' 11NC='\033[0m' # No Color 12 13print_usage() { 14 echo "Usage: $0 [dev|prod|both]" 15 echo "" 16 echo " dev - Build development container (Dockerfile.dev)" 17 echo " prod - Build production container (Dockerfile)" 18 echo " both - Build both containers (default)" 19 echo "" 20 echo "Examples:" 21 echo " $0 dev" 22 echo " $0 prod" 23 echo " $0" 24} 25 26build_dev() { 27 echo -e "${YELLOW}Building development container...${NC}" 28 docker build -f Dockerfile.dev -t strudel-dev . 29 echo -e "${GREEN}✓ Development container built: strudel-dev${NC}" 30 echo -e "${YELLOW}Run with: docker run -p 4321:4321 strudel-dev${NC}" 31} 32 33build_prod() { 34 echo -e "${YELLOW}Building production container...${NC}" 35 docker build -t strudel-prod . 36 echo -e "${GREEN}✓ Production container built: strudel-prod${NC}" 37 echo -e "${YELLOW}Run with: docker run -p 8080:8080 strudel-prod${NC}" 38}
Default to both if no argument provided
41TARGET=${1:-both}
43case $TARGET in 44 dev) 45 build_dev 46 ;; 47 prod) 48 build_prod 49 ;; 50 both) 51 build_dev 52 echo "" 53 build_prod 54 ;; 55 help|--help|-h) 56 print_usage 57 exit 0 58 ;; 59 *) 60 echo -e "${RED}Error: Unknown option '$TARGET'${NC}" 61 echo "" 62 print_usage 63 exit 1 64 ;; 65esac 66 67echo "" 68echo -e "${GREEN}🎵 Docker build complete!${NC}"