web-dev-setup.sh 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. #!/bin/bash
  2. set -e
  3. echo "======================================"
  4. echo "🌐 Web Development Setup for Ubuntu 22.04"
  5. echo "======================================"
  6. # Update and upgrade
  7. echo "🔄 Updating system..."
  8. sudo apt update && sudo apt upgrade -y
  9. # Install essential tools
  10. echo "🛠️ Installing base developer tools..."
  11. sudo apt install -y build-essential software-properties-common \
  12. curl wget git unzip zip gnupg ca-certificates lsb-release
  13. # Install Python and pip
  14. echo "🐍 Installing Python3 and pip..."
  15. sudo apt install -y python3 python3-pip python3-venv
  16. # Install Node.js (LTS) and npm
  17. echo "🟢 Installing Node.js LTS and npm..."
  18. curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
  19. sudo apt install -y nodejs
  20. # Install global npm packages
  21. echo "📦 Installing global npm packages..."
  22. sudo npm install -g typescript nodemon vite create-react-app eslint prettier yarn
  23. # Install Docker
  24. read -p "Do you want to install Docker and Docker Compose? (y/n): " install_docker
  25. if [[ "$install_docker" == "y" ]]; then
  26. echo "🐳 Installing Docker..."
  27. sudo apt install -y docker.io docker-compose
  28. sudo systemctl enable docker
  29. sudo usermod -aG docker $USER
  30. echo "✅ Docker installed. You may need to logout and login again for group changes."
  31. fi
  32. # Install Git
  33. echo "🌿 Installing Git..."
  34. sudo apt install -y git
  35. # Install VS Code
  36. read -p "Do you want to install Visual Studio Code? (y/n): " install_vscode
  37. if [[ "$install_vscode" == "y" ]]; then
  38. echo "🧠 Installing VS Code..."
  39. wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
  40. sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/
  41. sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'
  42. sudo apt update
  43. sudo apt install -y code
  44. rm -f packages.microsoft.gpg
  45. fi
  46. # Optional: MongoDB
  47. read -p "Do you want to install MongoDB? (y/n): " install_mongo
  48. if [[ "$install_mongo" == "y" ]]; then
  49. echo "🍃 Installing MongoDB..."
  50. wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
  51. echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | \
  52. sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
  53. sudo apt update
  54. sudo apt install -y mongodb-org
  55. sudo systemctl start mongod
  56. sudo systemctl enable mongod
  57. fi
  58. # Optional: PostgreSQL
  59. read -p "Do you want to install PostgreSQL? (y/n): " install_postgres
  60. if [[ "$install_postgres" == "y" ]]; then
  61. echo "🐘 Installing PostgreSQL..."
  62. sudo apt install -y postgresql postgresql-contrib
  63. sudo systemctl start postgresql
  64. sudo systemctl enable postgresql
  65. fi
  66. # Terminal Improvements (Optional)
  67. echo "✨ Installing terminal improvements (Zsh, Oh-My-Zsh)..."
  68. sudo apt install -y zsh
  69. chsh -s $(which zsh)
  70. sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
  71. # Clean up
  72. echo "🧹 Cleaning up..."
  73. sudo apt autoremove -y
  74. sudo apt clean
  75. echo "✅ Web development environment setup is complete!"