#!/bin/bash set -e GREEN='\033[0;32m' NC='\033[0m' # Check for Ubuntu version echo -e "${GREEN}Checking Ubuntu version...${NC}" UBUNTU_CODENAME=$(lsb_release -cs) # Supported versions: noble, jammy, focal if [[ ! " noble jammy focal " =~ " $UBUNTU_CODENAME " ]]; then echo "Error: Unsupported Ubuntu version ($UBUNTU_CODENAME). Supported: noble, jammy, focal" exit 1 fi # Step 1: Remove conflicting packages echo -e "${GREEN}Removing conflicting mongodb packages...${NC}" sudo apt-get remove -y mongodb mongodb-clients || echo "No conflicting packages found" # Step 2: Install dependencies echo -e "${GREEN}Installing dependencies...${NC}" sudo apt-get update -y sudo apt-get install -y wget gnupg curl # Step 3: Import MongoDB GPG key echo -e "${GREEN}Importing MongoDB GPG key...${NC}" curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \ sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \ --dearmor # Step 4: Add MongoDB repository echo -e "${GREEN}Adding MongoDB repository...${NC}" echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu $UBUNTU_CODENAME/mongodb-org/8.0 multiverse" | \ sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list # Step 5: Install MongoDB echo -e "${GREEN}Installing MongoDB 8.0...${NC}" sudo apt-get update -y sudo apt-get install -y mongodb-org # Step 6: Start and enable MongoDB service echo -e "${GREEN}Starting and enabling MongoDB service...${NC}" sudo systemctl start mongod sudo systemctl enable mongod # Wait for MongoDB to initialize sleep 10 # Step 7: Create admin user echo -e "${GREEN}Creating admin user...${NC}" mongo admin --eval "db.createUser({user: 'admin', pwd: 'adminpassword', roles: [{role: 'userAdminAnyDatabase', db: 'admin'}, {role: 'readWriteAnyDatabase', db: 'admin'}]})" # Step 8: Enable authorization and bindIp in config echo -e "${GREEN}Updating MongoDB configuration...${NC}" sudo tee -a /etc/mongod.conf > /dev/null <