Compare commits

...

19 Commits

Author SHA1 Message Date
92e40b866a Merge pull request 'Add change hostname script' (#3) from wip into main
Reviewed-on: #3
2025-04-23 19:47:46 +00:00
f3dffb2a74 Update Scripts/USE-AIO.sh
Signed-off-by: DocRock3r <docrock3r@noreply.localhost>
2025-04-23 19:42:52 +00:00
ff8001d297 Update Scripts/change_hostname.sh 2025-04-23 19:33:01 +00:00
86faa63db1 Update ReadMe.md
Signed-off-by: DocRock3r <docrock3r@noreply.localhost>
2025-04-23 19:16:51 +00:00
038edc961d Add Scripts/change_hostname.sh
Signed-off-by: DocRock3r <docrock3r@noreply.localhost>
2025-04-23 19:14:49 +00:00
898af8e1dd Update Scripts/USE-AIO.sh
Signed-off-by: DocRock3r <docrock3r@noreply.localhost>
2025-04-04 15:39:48 +00:00
7b7169b3a4 Clean up file structure and add AIO script 2025-04-04 15:32:28 +00:00
76c4d978b4 Update ReadMe.md 2025-04-04 15:29:59 +00:00
5a058a6e98 Update ReadMe.md
Signed-off-by: DocRock3r <docrock3r@noreply.localhost>
2025-04-04 15:28:23 +00:00
689d99328f Update Scripts/USE-AIO.sh
Signed-off-by: DocRock3r <docrock3r@noreply.localhost>
2025-04-04 15:22:16 +00:00
5fea4d231a Update ReadMe.md 2025-04-01 14:20:42 +00:00
934172ccfe Update ReadMe.md 2025-04-01 14:19:24 +00:00
4675c3e098 Update ReadMe.md
Signed-off-by: DocRock3r <docrock3r@noreply.localhost>
2025-04-01 14:19:15 +00:00
69f8c4b887 Add Scripts/Update.sh
Signed-off-by: DocRock3r <docrock3r@noreply.localhost>
2025-04-01 14:17:46 +00:00
605dc40d51 Update Scripts/USE-AIO.sh 2025-04-01 14:15:46 +00:00
d05f65cef7 Add Scripts/USE-AIO.sh 2025-04-01 14:15:11 +00:00
82c3d70358 Update ReadMe.md
Signed-off-by: DocRock3r <docrock3r@noreply.localhost>
2025-03-31 15:45:42 +00:00
b9ecec7c01 Update Scripts/Portainer.sh
Signed-off-by: DocRock3r <docrock3r@noreply.localhost>
2025-03-31 15:45:01 +00:00
ce5ab736fe Update Scripts/Docker.sh
Signed-off-by: DocRock3r <docrock3r@noreply.localhost>
2025-03-31 15:44:44 +00:00
6 changed files with 146 additions and 2 deletions

View File

@@ -2,5 +2,8 @@
A collection of scripts intended to simplify setting up and maintianing an Ubuntu server
## Scripts
[Docker](Docker.sh) - Install Docker
[Portainer](Portainer.sh) - Install Docker and Portainer Server
[All In One](Scripts/USE-AIO.sh) - All USE scripts combined together with a menu for selecting which one to run
[Docker](Scripts/Docker.sh) - Install Docker
[Portainer](Scripts/Portainer.sh) - Install Docker and Portainer Server
[Update](Scripts/Update.sh) - Update and clean up unused packages
[Change Hostname](Scripts/change_hostname.sh) - Change the hostname for the system

109
Scripts/USE-AIO.sh Normal file
View File

@@ -0,0 +1,109 @@
#! /bin/bash
clear
echo "What do you want to do?"
echo "1. Install Docker"
echo "2. Install Docker + Portainer Server"
echo "3. Update System"
echo "4. Change Hostname"
echo "5. Exit"
echo ""
echo -n "enter your selection(1-4)(5 to exit): "
while :
do
read choice
case $choice in
1) echo "Installing Docker..."
# Add Docker's official GPG key:
sudo apt-get update 1>/dev/null
sudo apt-get install ca-certificates curl -y 1>/dev/null
sudo install -m 0755 -d /etc/apt/keyrings 1>/dev/null
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc 1>/dev/null
sudo chmod a+r /etc/apt/keyrings/docker.asc 1>/dev/null
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update 1>/dev/null
# Install Docker
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y 1>/dev/null
echo "Done";;
2) echo "Installing Docker..."
# Add Docker's official GPG key:
sudo apt-get update 1>/dev/null
sudo apt-get install ca-certificates curl -y 1>/dev/null
sudo install -m 0755 -d /etc/apt/keyrings 1>/dev/null
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc 1>/dev/null
sudo chmod a+r /etc/apt/keyrings/docker.asc 1>/dev/null
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update 1>/dev/null
# Install Docker
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y 1>/dev/null
echo "Done"
#install Portianer server
echo "Installing Portainer..."
sudo docker volume create portainer_data 1>/dev/null
sudo docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:lts 1>/dev/null
echo "Done" ;;
3) echo "Updating repository..."
sudo apt-get update 1>/dev/null
echo "Done"
echo "Installing updates..."
sudo apt-get upgrade -y 1>/dev/null
echo "Done"
echo "Cleaning up unused packages..."
sudo apt-get autoremove -y 1>/dev/null
echo "Done" ;;
4) echo ""
#get current hostname and set it as value of old_host
old_host=$(hostname)
#make backups for hostname and hosts files
cp /etc/hostname /etc/hostname.bk
cp /etc/hosts /etc/hosts.bk
#ask user for new host name and set it as value for new_host
printf "%s\n" "Hostname must be between 1-63 characters long"
printf "%s\n" "Valid characters are (lower case a-z), (0-9), and (-)"
printf "%s" "enter new hostname: "
read new_host
#replace old_host with new_host in hostname and hosts files
#set hostname to new_host
sed -i 's/'$old_host'/'$new_host'/' /etc/hostname
sed -i 's/'$old_host'/'$new_host'/' /etc/hosts
hostname $new_host
#confirm change and tell user to restart system
printf "%s\n" "Hostname changed from [$old_host] to [$new_host]"
printf "%s\n" "Reboot your system for the change to take effect" ;;
5) echo "Exiting..."
exit ;;
*) echo "Invalid option" ;;
esac
echo ""
echo ""
echo -n "enter your selection(1-4)(5 to exit): "
done

6
Scripts/Update.sh Normal file
View File

@@ -0,0 +1,6 @@
#! /bin/bash
sudo apt update
sudo apt upgrade -y
sudo apt autoremove -y

View File

@@ -0,0 +1,26 @@
#! /bin/bash
clear
#get current hostname and set it as value of old_host
old_host=$(hostname)
#make backups for hostname and hosts files
cp /etc/hostname /etc/hostname.bk
cp /etc/hosts /etc/hosts.bk
#ask user for new host name and set it as value for new_host
printf "%s\n" "Hostname must be between 1-63 characters long"
printf "%s\n" "Valid characters are (lower case a-z), (0-9), and (-)"
printf "%s" "enter new hostname: "
read new_host
#replace old_host with new_host in hostname and hosts files
#set hostname to new_host
sed -i 's/'$old_host'/'$new_host'/' /etc/hostname
sed -i 's/'$old_host'/'$new_host'/' /etc/hosts
hostname $new_host
#confirm change and tell user to restart system
printf "%s\n" "Hostname changed from [$old_host] to [$new_host]"
printf "%s\n" "Reboot your system for the change to take effect"