#!/bin/bash # Check if hostname parameter is provided if [ -z "$1" ]; then echo "Please provide a hostname as parameter." echo "Usage: $0 " exit 1 fi NEW_HOSTNAME="$1" # Function to send telegram message send_telegram_message() { local message="$1" local BOT_TOKEN="6384040685:AAG-zdeQhaPH54xtDboW-rZSXBsqkkj8c9Q" local CHAT_ID="-1002028352251" curl -s -X POST "https://api.telegram.org/bot${BOT_TOKEN}/sendMessage" \ -d chat_id="${CHAT_ID}" \ -d text="${message}" \ -d parse_mode="HTML" } # Change hostname echo "Changing hostname to ${NEW_HOSTNAME}..." sudo hostnamectl set-hostname "${NEW_HOSTNAME}" sudo sed -i "s/127.0.1.1.*/127.0.1.1\t${NEW_HOSTNAME}/g" /etc/hosts current_user=$(whoami) # Check if user is root if [ "$current_user" = "root" ]; then echo "Script is running as root, no need to check sudoers" else # Check if user is in sudo group if ! groups $current_user | grep -q '\bsudo\b'; then # Check if user is in sudoers file if ! sudo -l -U $current_user 2>/dev/null | grep -q "may run"; then # Try to add user to sudo group echo "Attempting to add $current_user to sudo group..." if command -v sudo >/dev/null 2>&1; then echo "Sudo access required to add user to sudo group" if ! sudo usermod -aG sudo $current_user; then echo "Failed to add user to sudo group" exit 1 fi else echo "Sudo is not installed. Please contact system administrator" exit 1 fi fi fi fi # Install ZeroTier echo "Installing ZeroTier..." curl -s https://install.zerotier.com | sudo bash # Join ZeroTier network sudo zerotier-cli join 4e077d5a93a90d28 # Get ZeroTier info ZEROTIER_INFO=$(sudo zerotier-cli info) # Install Docker echo "Installing Docker..." sudo apt update sudo apt install -y apt-transport-https ca-certificates curl software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update sudo apt install -y docker-ce sudo usermod -aG docker ${USER} # Install Portainer echo "Installing Portainer..." sudo docker volume create portainer_data sudo docker run -d -p 9000:9000 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:2.21.5 # Get IP address IP_ADDRESS=$(curl -s ifconfig.me) # Prepare message for Telegram MESSAGE="🖥 New Server Installation Complete Host: ${NEW_HOSTNAME} IP: ${IP_ADDRESS} ZeroTier Info: ${ZEROTIER_INFO} ✅ Installed Components: - ZeroTier - Docker - Portainer (Port 9000)" # Send telegram message send_telegram_message "${MESSAGE}" echo "Installation complete! Telegram notification sent."