60 lines
2.2 KiB
Bash
Executable File
60 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Check if we are running as sudo, if not, exit
|
|
if [ "$EUID" -ne 0 ]; then
|
|
echo "Please run as root. Maybe try 'sudo !!'"
|
|
exit
|
|
fi
|
|
|
|
if [ -z "$1" ]; then
|
|
echo "You need to specify arguments for this script."
|
|
echo "bash mainserver.sh secrets # Allow script to run, after you have configured secrets and SSH private key."
|
|
exit
|
|
fi
|
|
|
|
# Do everything in general.sh first
|
|
bash general.sh secrets
|
|
|
|
# Required for later things
|
|
groupadd media
|
|
mkdir /dockerData
|
|
|
|
# Change SSH Port
|
|
sed -i 's/#Port 22/Port 1000/g' /etc/ssh/sshd_config
|
|
systemctl restart sshd
|
|
|
|
# Install docker
|
|
## INFO: https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository
|
|
sudo mkdir -p /etc/apt/keyrings
|
|
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
|
echo \
|
|
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
|
|
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
|
sudo apt-get update
|
|
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y
|
|
systemctl enable --now docker
|
|
|
|
# Install Plex
|
|
echo "deb [signed-by=/usr/share/keyrings/plex.gpg] https://downloads.plex.tv/repo/deb public main" | sudo tee /etc/apt/sources.list.d/plexmediaserver.list
|
|
sudo wget -O- https://downloads.plex.tv/plex-keys/PlexSign.key | gpg --dearmor | sudo tee /usr/share/keyrings/plex.gpg
|
|
sudo apt-get update
|
|
sudo apt-get install plexmediaserver -y
|
|
|
|
# Copy secrets
|
|
cp ./resources/secrets/*.txt ~
|
|
|
|
# Add crontabs
|
|
(crontab -l ; echo "*/15 * * * * /root/ddns.sh") | crontab -
|
|
(crontab -l ; echo "0 1 * * * /root/scripts/Backup/Backup.sh") | crontab -
|
|
(crontab -l ; echo "0 2 * * * docker image prune -a -f && docker volume prune -f && docker network prune -f") | crontab -
|
|
(crontab -l ; echo "0 * * * * curl --silent https://missionpark.net?es=cron&guid=edaiqo-pgoemj-cenpat-cbgkjr-fomgjy > /dev/null 2>&1") | crontab -
|
|
|
|
echo
|
|
echo "Almost there!"
|
|
echo "- Setup Docker Container Secrets & Start Containers"
|
|
echo "- Setup HealthChecks for Cron Jobs"
|
|
echo "- Setup Plex by going to: http://MACHINEIP:32400/web"
|
|
echo
|
|
|
|
cd ~ || exit
|