#!/bin/bash set -e echo "======================================" echo "๐ŸŒ Web Development Setup for Ubuntu 22.04" echo "======================================" # Update and upgrade echo "๐Ÿ”„ Updating system..." sudo apt update && sudo apt upgrade -y # Install essential tools echo "๐Ÿ› ๏ธ Installing base developer tools..." sudo apt install -y build-essential software-properties-common \ curl wget git unzip zip gnupg ca-certificates lsb-release # Install Python and pip echo "๐Ÿ Installing Python3 and pip..." sudo apt install -y python3 python3-pip python3-venv # Install Node.js (LTS) and npm echo "๐ŸŸข Installing Node.js LTS and npm..." curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash - sudo apt install -y nodejs # Install global npm packages echo "๐Ÿ“ฆ Installing global npm packages..." sudo npm install -g typescript nodemon vite create-react-app eslint prettier yarn # Install Docker read -p "Do you want to install Docker and Docker Compose? (y/n): " install_docker if [[ "$install_docker" == "y" ]]; then echo "๐Ÿณ Installing Docker..." sudo apt install -y docker.io docker-compose sudo systemctl enable docker sudo usermod -aG docker $USER echo "โœ… Docker installed. You may need to logout and login again for group changes." fi # Install Git echo "๐ŸŒฟ Installing Git..." sudo apt install -y git # Install VS Code read -p "Do you want to install Visual Studio Code? (y/n): " install_vscode if [[ "$install_vscode" == "y" ]]; then echo "๐Ÿง  Installing VS Code..." wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/ sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list' sudo apt update sudo apt install -y code rm -f packages.microsoft.gpg fi # Optional: MongoDB read -p "Do you want to install MongoDB? (y/n): " install_mongo if [[ "$install_mongo" == "y" ]]; then echo "๐Ÿƒ Installing MongoDB..." wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add - echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | \ sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list sudo apt update sudo apt install -y mongodb-org sudo systemctl start mongod sudo systemctl enable mongod fi # Optional: PostgreSQL read -p "Do you want to install PostgreSQL? (y/n): " install_postgres if [[ "$install_postgres" == "y" ]]; then echo "๐Ÿ˜ Installing PostgreSQL..." sudo apt install -y postgresql postgresql-contrib sudo systemctl start postgresql sudo systemctl enable postgresql fi # Terminal Improvements (Optional) echo "โœจ Installing terminal improvements (Zsh, Oh-My-Zsh)..." sudo apt install -y zsh chsh -s $(which zsh) sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" # Clean up echo "๐Ÿงน Cleaning up..." sudo apt autoremove -y sudo apt clean echo "โœ… Web development environment setup is complete!"