Files
homelab-scripts/usenet-docker.sh
2020-11-29 20:56:57 -05:00

235 lines
5.8 KiB
Bash

#!/bin/bash
# need to be root
if [ "$EUID" -ne 0 ]; then
echo "Please run as root"
exit
fi
watchtower () {
docker stop watchtower
docker rm watchtower
docker create \
--name watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
--restart=always \
v2tec/watchtower
docker start watchtower
}
tautulli () {
docker stop tautulli
docker rm tautulli
docker create \
--name=tautulli \
-v /etc/docker/config/tautulli:/config \
-e PGID=0 -e PUID=0 \
-e TZ=America/New_York \
-p 8181:8181 \
--restart=always \
linuxserver/tautulli
cat << EOF >> /etc/firewalld/services/tautulli.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>tautulli</short>
<description>tautulli/plexpy</description>
<port protocol="tcp" port="8181"/>
</service>
EOF
sleep 5
firewall-cmd --add-service=tautulli --permanent
firewall-cmd --reload
docker start tautulli
}
nzbget () {
docker stop nzbget
docker rm nzbget
docker create \
--name nzbget \
-p 6789:6789 \
-e PUID=0 -e PGID=0 \
-e TZ=America/New_York \
-v /etc/docker/config/nzbget:/config \
-v /media/downloads:/downloads \
-v /mnt/torrents/completed:/torrents \
--restart=always \
linuxserver/nzbget
cat << EOF >> /etc/firewalld/services/nzbget.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>nzbget</short>
<description>nzbget</description>
<port protocol="tcp" port="6789"/>
</service>
EOF
sleep 5
firewall-cmd --add-service=nzbget --permanent
firewall-cmd --reload
docker start nzbget
}
transmission () {
docker stop transmission
docker rm transmission
docker create \
--name=transmission \
-v /etc/docker/config/transmission:/config \
-v /mnt/torrents:/downloads \
-e PUID=0 -e PGID=0 \
-e TZ=America/New_York \
-p 9091:9091 -p 10977:10977 -p 10977:10977/udp \
--restart=always \
linuxserver/transmission
cat << EOF >> /etc/firewalld/services/transmission.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>transmission</short>
<description>transmission</description>
<port protocol="tcp" port="9091"/>
<port protocol="tcp" port="10977"/>
<port protocol="udp" port="10977"/>
</service>
EOF
sleep 5
firewall-cmd --add-service=transmission --permanent
firewall-cmd --reload
docker start transmission
}
ombi () {
docker stop ombi
docker rm ombi
docker create \
--name=ombi \
-v /etc/docker/config/ombi:/config \
-e PGID=0 -e PUID=0 \
-e TZ=America/New_York \
-p 3579:3579 \
--restart=always \
linuxserver/ombi
cat << EOF >> /etc/firewalld/services/ombi.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>ombi</short>
<description>ombi</description>
<port protocol="tcp" port="9091"/>
</service>
EOF
sleep 5
firewall-cmd --add-service=ombi --permanent
firewall-cmd --reload
docker start ombi
}
radarr () {
docker stop radarr
docker rm radarr
docker create \
--name=radarr \
-v /etc/docker/config/radarr:/config \
-v /media/downloads:/downloads \
-v /mnt/plex/media/Movies:/movies \
-e PGID=0 -e PUID=0 \
-e TZ=America/New_York \
-p 7878:7878 \
--restart=always \
linuxserver/radarr
cat << EOF >> /etc/firewalld/services/radarr.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>radarr</short>
<description>radarr</description>
<port protocol="tcp" port="7878"/>
</service>
EOF
sleep 5
firewall-cmd --add-service=radarr --permanent
firewall-cmd --reload
docker start radarr
}
sonarr () {
docker stop sonarr
docker rm sonarr
docker create \
--name=sonarr \
-v /etc/docker/config/sonarr:/config \
-v /media/downloads:/downloads \
-v /mnt/plex/media/TV:/tv \
-e PGID=0 -e PUID=0 \
-e TZ=America/New_York \
-p 8989:8989 \
--restart=always \
linuxserver/sonarr
cat << EOF >> /etc/firewalld/services/sonarr.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>sonarr</short>
<description>sonarr</description>
<port protocol="tcp" port="8989"/>
</service>
EOF
sleep 5
firewall-cmd --add-service=sonarr --permanent
firewall-cmd --reload
docker start sonarr
}
nzbhydra2 () {
docker stop nzbhydra2
docker rm nzbhydra2
docker create \
--name=nzbhydra2 \
-e PUID=0 -e PGID=0 \
-e TZ=America/New_York \
-p 5076:5076 \
-v /etc/docker/config/nzbhydra2:/config \
--restart always\
linuxserver/nzbhydra2
cat << EOF >> /etc/firewalld/services/nzbhydra2.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>nzbhydra2</short>
<description>nzbhydra2</description>
<port protocol="tcp" port="5076"/>
</service>
EOF
sleep 5
firewall-cmd --add-service=nzbhydra2 --permanent
firewall-cmd --reload
docker start nzbhydra2
}
# Debian OS
if [ -f /etc/debian_version ]; then
echo "Debian is not yet supported"
exit
#all_distros
# CentOS OS
elif [ -f /etc/redhat-release ]; then
# install dependencies
yum install -y yum-utils device-mapper-persistent-data lvm2
# add docker repo
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# install docker
yum install -y docker-ce
# start docker
systemctl start docker
systemctl enable docker
else
echo "Unable to determine linux distro"
exit
fi