mirror of
https://github.com/kidwellj/proxmox-scripts.git
synced 2025-06-27 12:04:08 +00:00
Updated files
This commit is contained in:
parent
17e2fbcc06
commit
cb66097399
19 changed files with 17 additions and 18 deletions
63
setup_files/emby_setup.sh
Normal file
63
setup_files/emby_setup.sh
Normal file
|
@ -0,0 +1,63 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -o errexit
|
||||
set -o errtrace
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
shopt -s expand_aliases
|
||||
alias die='EXIT=$? LINE=$LINENO error_exit'
|
||||
trap die ERR
|
||||
CHECKMARK='\033[0;32m\xE2\x9C\x94\033[0m'
|
||||
trap 'die "Script interrupted."' INT
|
||||
|
||||
function error_exit() {
|
||||
trap - ERR
|
||||
local DEFAULT='Unknown failure occured.'
|
||||
local REASON="\e[97m${1:-$DEFAULT}\e[39m"
|
||||
local FLAG="\e[91m[ERROR:LXC] \e[93m$EXIT@$LINE"
|
||||
msg "$FLAG $REASON"
|
||||
exit $EXIT
|
||||
}
|
||||
function msg() {
|
||||
local TEXT="$1"
|
||||
echo -e "$TEXT"
|
||||
}
|
||||
|
||||
echo -e "${CHECKMARK} \e[1;92m Setting up Container OS... \e[0m"
|
||||
sed -i "/$LANG/ s/\(^# \)//" /etc/locale.gen
|
||||
locale-gen >/dev/null
|
||||
apt -y purge openssh-{client,server} >/dev/null
|
||||
apt autoremove >/dev/null
|
||||
|
||||
echo -e "${CHECKMARK} \e[1;92m Updating Container OS... \e[0m"
|
||||
apt update &>/dev/null
|
||||
apt -qqy upgrade &>/dev/null
|
||||
|
||||
echo -e "${CHECKMARK} \e[1;92m Installing Prerequisites... \e[0m"
|
||||
apt -qqy install \
|
||||
curl \
|
||||
sudo \
|
||||
apt-transport-https \
|
||||
gnupg &>/dev/null
|
||||
|
||||
echo -e "${CHECKMARK} \e[1;92m Downloading Emby Server... \e[0m"
|
||||
wget https://github.com/MediaBrowser/Emby.Releases/releases/download/4.6.7.0/emby-server-deb_4.6.7.0_amd64.deb &>/dev/null
|
||||
|
||||
echo -e "${CHECKMARK} \e[1;92m Installing Emby Server... \e[0m"
|
||||
dpkg -i emby-server-deb_4.6.7.0_amd64.deb &>/dev/null
|
||||
|
||||
echo -e "${CHECKMARK} \e[1;92m Customizing Container... \e[0m"
|
||||
rm /etc/motd
|
||||
rm /etc/update-motd.d/10-uname
|
||||
touch ~/.hushlogin
|
||||
GETTY_OVERRIDE="/etc/systemd/system/container-getty@1.service.d/override.conf"
|
||||
mkdir -p $(dirname $GETTY_OVERRIDE)
|
||||
cat << EOF > $GETTY_OVERRIDE
|
||||
[Service]
|
||||
ExecStart=
|
||||
ExecStart=-/sbin/agetty --autologin root --noclear --keep-baud tty%I 115200,38400,9600 \$TERM
|
||||
EOF
|
||||
systemctl daemon-reload
|
||||
systemctl restart $(basename $(dirname $GETTY_OVERRIDE) | sed 's/\.d//')
|
||||
echo -e "${CHECKMARK} \e[1;92m Cleanup... \e[0m"
|
||||
rm -rf /jellyfin_setup.sh /var/{cache,log}/* /var/lib/apt/lists/*
|
72
setup_files/jdownloader2_setup.sh
Normal file
72
setup_files/jdownloader2_setup.sh
Normal file
|
@ -0,0 +1,72 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -o errexit
|
||||
set -o errtrace
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
shopt -s expand_aliases
|
||||
alias die='EXIT=$? LINE=$LINENO error_exit'
|
||||
trap die ERR
|
||||
CHECKMARK='\033[0;32m\xE2\x9C\x94\033[0m'
|
||||
trap 'die "Script interrupted."' INT
|
||||
|
||||
function error_exit() {
|
||||
trap - ERR
|
||||
local DEFAULT='Unknown failure occured.'
|
||||
local REASON="\e[97m${1:-$DEFAULT}\e[39m"
|
||||
local FLAG="\e[91m[ERROR:LXC] \e[93m$EXIT@$LINE"
|
||||
msg "$FLAG $REASON"
|
||||
exit $EXIT
|
||||
}
|
||||
function msg() {
|
||||
local TEXT="$1"
|
||||
echo -e "$TEXT"
|
||||
}
|
||||
|
||||
echo -e "${CHECKMARK} \e[1;92m Setting up Container OS... \e[0m"
|
||||
sed -i "/$LANG/ s/\(^# \)//" /etc/locale.gen
|
||||
locale-gen >/dev/null
|
||||
apt-get -y purge openssh-{client,server} >/dev/null
|
||||
apt-get autoremove >/dev/null
|
||||
|
||||
echo -e "${CHECKMARK} \e[1;92m Updating Container OS... \e[0m"
|
||||
apt-get update &>/dev/null
|
||||
apt-get -qqy upgrade &>/dev/null
|
||||
|
||||
echo -e "${CHECKMARK} \e[1;92m Installing Prerequisites... \e[0m"
|
||||
apt-get -qqy install \
|
||||
wget \
|
||||
sudo \
|
||||
openjdk-11-jre-headless &>/dev/null
|
||||
|
||||
echo -e "${CHECKMARK} \e[1;92m Create user for jdownloader2... \e[0m"
|
||||
useradd -s /sbin/nologin jdown2
|
||||
|
||||
echo -e "${CHECKMARK} \e[1;92m Create folder for jdownloader2... \e[0m"
|
||||
mkdir /opt/jdown2
|
||||
chown jdown2. /opt/jdown2
|
||||
cd /opt/jdown2
|
||||
|
||||
echo -e "${CHECKMARK} \e[1;92m Downloading jdownloader2... \e[0m"
|
||||
sudo -u jdown2 wget http://installer.jdownloader.org/JDownloader.jar
|
||||
wget -O /etc/systemd/system/jdownloader2.service https://raw.githubusercontent.com/StevenSeifried/proxmox-scripts/main/systemd_files/jdownloader2.service &>/dev/null
|
||||
|
||||
echo -e "${CHECKMARK} \e[1;92m Enable and start systemd service for jdownloader2... \e[0m"
|
||||
systemctl daemon-reload &>/dev/null
|
||||
systemctl enable jdownloader2 &>/dev/null
|
||||
|
||||
echo -e "${CHECKMARK} \e[1;92m Customizing Container... \e[0m"
|
||||
rm /etc/motd
|
||||
rm /etc/update-motd.d/10-uname
|
||||
touch ~/.hushlogin
|
||||
GETTY_OVERRIDE="/etc/systemd/system/container-getty@1.service.d/override.conf"
|
||||
mkdir -p $(dirname $GETTY_OVERRIDE)
|
||||
cat << EOF > $GETTY_OVERRIDE
|
||||
[Service]
|
||||
ExecStart=
|
||||
ExecStart=-/sbin/agetty --autologin root --noclear --keep-baud tty%I 115200,38400,9600 \$TERM
|
||||
EOF
|
||||
systemctl daemon-reload
|
||||
systemctl restart $(basename $(dirname $GETTY_OVERRIDE) | sed 's/\.d//')
|
||||
echo -e "${CHECKMARK} \e[1;92m Cleanup... \e[0m"
|
||||
rm -rf /jdownloader2_setup.sh /var/{cache,log}/* /var/lib/apt/lists/*
|
73
setup_files/jellyfin_setup.sh
Normal file
73
setup_files/jellyfin_setup.sh
Normal file
|
@ -0,0 +1,73 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -o errexit
|
||||
set -o errtrace
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
shopt -s expand_aliases
|
||||
alias die='EXIT=$? LINE=$LINENO error_exit'
|
||||
trap die ERR
|
||||
CHECKMARK='\033[0;32m\xE2\x9C\x94\033[0m'
|
||||
trap 'die "Script interrupted."' INT
|
||||
|
||||
function error_exit() {
|
||||
trap - ERR
|
||||
local DEFAULT='Unknown failure occured.'
|
||||
local REASON="\e[97m${1:-$DEFAULT}\e[39m"
|
||||
local FLAG="\e[91m[ERROR:LXC] \e[93m$EXIT@$LINE"
|
||||
msg "$FLAG $REASON"
|
||||
exit $EXIT
|
||||
}
|
||||
function msg() {
|
||||
local TEXT="$1"
|
||||
echo -e "$TEXT"
|
||||
}
|
||||
|
||||
echo -e "${CHECKMARK} \e[1;92m Setting up Container OS... \e[0m"
|
||||
sed -i "/$LANG/ s/\(^# \)//" /etc/locale.gen
|
||||
locale-gen >/dev/null
|
||||
apt-get -y purge openssh-{client,server} >/dev/null
|
||||
apt-get autoremove >/dev/null
|
||||
|
||||
echo -e "${CHECKMARK} \e[1;92m Updating Container OS... \e[0m"
|
||||
apt-get update &>/dev/null
|
||||
apt-get -qqy upgrade &>/dev/null
|
||||
|
||||
echo -e "${CHECKMARK} \e[1;92m Installing Prerequisites... \e[0m"
|
||||
apt-get -qqy install \
|
||||
curl \
|
||||
sudo \
|
||||
apt-transport-https \
|
||||
at \
|
||||
libfl2 \
|
||||
gnupg &>/dev/null
|
||||
|
||||
echo -e "${CHECKMARK} \e[1;92m Downloading Jellyfin Server... \e[0m"
|
||||
wget https://repo.jellyfin.org/releases/server/debian/versions/stable/server/10.7.7/jellyfin-server_10.7.7-1_amd64.deb &>/dev/null
|
||||
wget https://repo.jellyfin.org/releases/server/debian/versions/stable/web/10.7.7/jellyfin-web_10.7.7-1_all.deb &>/dev/null
|
||||
|
||||
echo -e "${CHECKMARK} \e[1;92m Adding Jellyfin Repo... \e[0m"
|
||||
cat <<EOF > /etc/apt/sources.list.d/jellyfin.list
|
||||
deb [arch=amd64] https://repo.jellyfin.org/debian bullseye main
|
||||
EOF
|
||||
|
||||
wget -q https://repo.jellyfin.org/jellyfin_team.gpg.key -O - | apt-key add - &>/dev/null
|
||||
|
||||
echo -e "${CHECKMARK} \e[1;92m Installing Jellyfin Server... \e[0m"
|
||||
dpkg -i jellyfin-server_10.7.7-1_amd64.deb jellyfin-web_10.7.7-1_all.deb &>/dev/null
|
||||
|
||||
echo -e "${CHECKMARK} \e[1;92m Customizing Container... \e[0m"
|
||||
rm /etc/motd
|
||||
rm /etc/update-motd.d/10-uname
|
||||
touch ~/.hushlogin
|
||||
GETTY_OVERRIDE="/etc/systemd/system/container-getty@1.service.d/override.conf"
|
||||
mkdir -p $(dirname $GETTY_OVERRIDE)
|
||||
cat << EOF > $GETTY_OVERRIDE
|
||||
[Service]
|
||||
ExecStart=
|
||||
ExecStart=-/sbin/agetty --autologin root --noclear --keep-baud tty%I 115200,38400,9600 \$TERM
|
||||
EOF
|
||||
systemctl daemon-reload
|
||||
systemctl restart $(basename $(dirname $GETTY_OVERRIDE) | sed 's/\.d//')
|
||||
echo -e "${CHECKMARK} \e[1;92m Cleanup... \e[0m"
|
||||
rm -rf /jellyfin_setup.sh /var/{cache,log}/* /var/lib/apt/lists/*
|
81
setup_files/pihole_cloudflared_setup.sh
Normal file
81
setup_files/pihole_cloudflared_setup.sh
Normal file
|
@ -0,0 +1,81 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -o errexit
|
||||
set -o errtrace
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
shopt -s expand_aliases
|
||||
alias die='EXIT=$? LINE=$LINENO error_exit'
|
||||
trap die ERR
|
||||
trap 'die "Script interrupted."' INT
|
||||
|
||||
function error_exit() {
|
||||
trap - ERR
|
||||
local DEFAULT='Unknown failure occured.'
|
||||
local REASON="\e[97m${1:-$DEFAULT}\e[39m"
|
||||
local FLAG="\e[91m[ERROR:LXC] \e[93m$EXIT@$LINE"
|
||||
msg "$FLAG $REASON"
|
||||
exit $EXIT
|
||||
}
|
||||
function msg() {
|
||||
local TEXT="$1"
|
||||
echo -e "$TEXT"
|
||||
}
|
||||
|
||||
msg "Setting up LXC OS..."
|
||||
sed -i "/$LANG/ s/\(^# \)//" /etc/locale.gen
|
||||
locale-gen >/dev/null
|
||||
apt-get -y purge openssh-{client,server} >/dev/null
|
||||
apt-get autoremove >/dev/null
|
||||
|
||||
# Update container OS
|
||||
msg "Updating container OS..."
|
||||
apt update &>/dev/null
|
||||
apt-get -qqy upgrade &>/dev/null
|
||||
|
||||
msg "Installing Prerequisites..."
|
||||
apt-get -qqy install \
|
||||
curl \
|
||||
sudo &>/dev/null
|
||||
|
||||
msg "Installing cloudflared.."
|
||||
wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb &>/dev/null
|
||||
sudo apt-get install ./cloudflared-linux-amd64.deb &>/dev/null
|
||||
sudo useradd -s /usr/sbin/nologin -r -M cloudflared &>/dev/null
|
||||
rm cloudflared-linux-amd64.deb
|
||||
|
||||
CLOUDFLARED_CONF="/etc/default/cloudflared"
|
||||
cat << EOF > $CLOUDFLARED_CONF
|
||||
# Commandline args for cloudflared, using Cloudflare DNS
|
||||
CLOUDFLARED_OPTS=--port 5053 --upstream https://1.1.1.1/dns-query --upstream https://1.0.0.1/dns-query
|
||||
EOF
|
||||
|
||||
chown cloudflared:cloudflared /etc/default/cloudflared
|
||||
chown cloudflared:cloudflared /usr/local/bin/cloudflared
|
||||
|
||||
wget -O /etc/systemd/system/cloudflared.service https://raw.githubusercontent.com/StevenSeifried/proxmox-scripts/main/systemd_files/cloudflared.service &>/dev/null
|
||||
|
||||
systemctl daemon-reload
|
||||
|
||||
msg "Installing Pi-hole.."
|
||||
curl -sSL https://install.pi-hole.net | bash
|
||||
|
||||
msg "Enable and start cloudflared..."
|
||||
systemctl enable --now cloudflared
|
||||
|
||||
msg "Customizing LXC..."
|
||||
rm /etc/motd
|
||||
rm /etc/update-motd.d/10-uname
|
||||
touch ~/.hushlogin
|
||||
GETTY_OVERRIDE="/etc/systemd/system/container-getty@1.service.d/override.conf"
|
||||
mkdir -p $(dirname $GETTY_OVERRIDE)
|
||||
cat << EOF > $GETTY_OVERRIDE
|
||||
[Service]
|
||||
ExecStart=
|
||||
ExecStart=-/sbin/agetty --autologin root --noclear --keep-baud tty%I 115200,38400,9600 \$TERM
|
||||
EOF
|
||||
systemctl daemon-reload
|
||||
systemctl restart $(basename $(dirname $GETTY_OVERRIDE) | sed 's/\.d//')
|
||||
|
||||
msg "Cleanup..."
|
||||
rm -rf /pihole_cloudflared_setup.sh /var/{cache,log}/* /var/lib/apt/lists/*
|
59
setup_files/pihole_setup.sh
Normal file
59
setup_files/pihole_setup.sh
Normal file
|
@ -0,0 +1,59 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -o errexit
|
||||
set -o errtrace
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
shopt -s expand_aliases
|
||||
alias die='EXIT=$? LINE=$LINENO error_exit'
|
||||
trap die ERR
|
||||
trap 'die "Script interrupted."' INT
|
||||
|
||||
function error_exit() {
|
||||
trap - ERR
|
||||
local DEFAULT='Unknown failure occured.'
|
||||
local REASON="\e[97m${1:-$DEFAULT}\e[39m"
|
||||
local FLAG="\e[91m[ERROR:LXC] \e[93m$EXIT@$LINE"
|
||||
msg "$FLAG $REASON"
|
||||
exit $EXIT
|
||||
}
|
||||
function msg() {
|
||||
local TEXT="$1"
|
||||
echo -e "$TEXT"
|
||||
}
|
||||
|
||||
msg "Setting up LXC OS..."
|
||||
sed -i "/$LANG/ s/\(^# \)//" /etc/locale.gen
|
||||
locale-gen >/dev/null
|
||||
apt-get -y purge openssh-{client,server} >/dev/null
|
||||
apt-get autoremove >/dev/null
|
||||
|
||||
# Update container OS
|
||||
msg "Updating container OS..."
|
||||
apt update &>/dev/null
|
||||
apt-get -qqy upgrade &>/dev/null
|
||||
|
||||
msg "Installing Prerequisites..."
|
||||
apt-get -qqy install \
|
||||
curl \
|
||||
sudo &>/dev/null
|
||||
|
||||
msg "Installing Pi-hole.."
|
||||
curl -sSL https://install.pi-hole.net | bash
|
||||
|
||||
msg "Customizing LXC..."
|
||||
rm /etc/motd
|
||||
rm /etc/update-motd.d/10-uname
|
||||
touch ~/.hushlogin
|
||||
GETTY_OVERRIDE="/etc/systemd/system/container-getty@1.service.d/override.conf"
|
||||
mkdir -p $(dirname $GETTY_OVERRIDE)
|
||||
cat << EOF > $GETTY_OVERRIDE
|
||||
[Service]
|
||||
ExecStart=
|
||||
ExecStart=-/sbin/agetty --autologin root --noclear --keep-baud tty%I 115200,38400,9600 \$TERM
|
||||
EOF
|
||||
systemctl daemon-reload
|
||||
systemctl restart $(basename $(dirname $GETTY_OVERRIDE) | sed 's/\.d//')
|
||||
|
||||
msg "Cleanup..."
|
||||
rm -rf /pihole_setup.sh /var/{cache,log}/* /var/lib/apt/lists/*
|
73
setup_files/tvheadend_setup.sh
Normal file
73
setup_files/tvheadend_setup.sh
Normal file
|
@ -0,0 +1,73 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -o errexit
|
||||
set -o errtrace
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
shopt -s expand_aliases
|
||||
alias die='EXIT=$? LINE=$LINENO error_exit'
|
||||
trap die ERR
|
||||
CHECKMARK='\033[0;32m\xE2\x9C\x94\033[0m'
|
||||
trap 'die "Script interrupted."' INT
|
||||
|
||||
function error_exit() {
|
||||
trap - ERR
|
||||
local DEFAULT='Unknown failure occured.'
|
||||
local REASON="\e[97m${1:-$DEFAULT}\e[39m"
|
||||
local FLAG="\e[91m[ERROR:LXC] \e[93m$EXIT@$LINE"
|
||||
msg "$FLAG $REASON"
|
||||
exit $EXIT
|
||||
}
|
||||
function msg() {
|
||||
local TEXT="$1"
|
||||
echo -e "$TEXT"
|
||||
}
|
||||
|
||||
echo -e "${CHECKMARK} \e[1;92m Setting up Container OS... \e[0m"
|
||||
sed -i "/$LANG/ s/\(^# \)//" /etc/locale.gen
|
||||
locale-gen >/dev/null
|
||||
apt-get -y purge openssh-{client,server} >/dev/null
|
||||
apt-get autoremove >/dev/null
|
||||
|
||||
echo -e "${CHECKMARK} \e[1;92m Updating Container OS... \e[0m"
|
||||
apt-get update &>/dev/null
|
||||
apt-get -qqy upgrade &>/dev/null
|
||||
|
||||
echo -e "${CHECKMARK} \e[1;92m Installing Prerequisites... \e[0m"
|
||||
apt-get -qqy install \
|
||||
curl \
|
||||
sudo \
|
||||
coreutils \
|
||||
usbutils \
|
||||
wget \
|
||||
apt-transport-https \
|
||||
lsb-release \
|
||||
ca-certificates &>/dev/null
|
||||
|
||||
echo -e "${CHECKMARK} \e[1;92m Adding Tvheadend Repo... \e[0m"
|
||||
cat <<EOF > /etc/apt/sources.list.d/tvheadend.list.list
|
||||
deb [arch=amd64] https://apt.tvheadend.org/unstable bullseye main
|
||||
EOF
|
||||
|
||||
wget -qO- https://doozer.io/keys/tvheadend/tvheadend/pgp | tee /etc/apt/trusted.gpg.d/tvheadend.asc &>/dev/null
|
||||
|
||||
echo -e "${CHECKMARK} \e[1;92m Installing Tvheadend... \e[0m"
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
apt-get update &>/dev/null
|
||||
apt-get -yq install tvheadend &>/dev/null
|
||||
|
||||
echo -e "${CHECKMARK} \e[1;92m Customizing Container... \e[0m"
|
||||
rm /etc/motd
|
||||
rm /etc/update-motd.d/10-uname
|
||||
touch ~/.hushlogin
|
||||
GETTY_OVERRIDE="/etc/systemd/system/container-getty@1.service.d/override.conf"
|
||||
mkdir -p $(dirname $GETTY_OVERRIDE)
|
||||
cat << EOF > $GETTY_OVERRIDE
|
||||
[Service]
|
||||
ExecStart=
|
||||
ExecStart=-/sbin/agetty --autologin root --noclear --keep-baud tty%I 115200,38400,9600 \$TERM
|
||||
EOF
|
||||
systemctl daemon-reload
|
||||
systemctl restart $(basename $(dirname $GETTY_OVERRIDE) | sed 's/\.d//')
|
||||
echo -e "${CHECKMARK} \e[1;92m Cleanup... \e[0m"
|
||||
rm -rf /tvheadend_setup.sh /var/{cache,log}/* /var/lib/apt/lists/*
|
Loading…
Add table
Add a link
Reference in a new issue