deployment-dcdn/install.sh

72 lines
1.4 KiB
Bash
Raw Normal View History

2024-02-23 14:28:42 +01:00
#!/bin/bash
echo "Deployment Debian + Caddy + Directus + Nuxt"
if [ "$EUID" -ne 0 ]; then
echo "Please run as root"
exit
fi
#
# USER
#
echo "Create user"
read -p "Enter username: " username
if id "$username" &>/dev/null; then
echo "User '$username' already exists."
exit 1
fi
echo "Generate and store the password somewhere safe"
read -s -p "Enter password: " password
echo
useradd -m "$username"
chsh -s /bin/bash $username
2024-02-23 14:28:42 +01:00
echo "$username:$password" | chpasswd
usermod -aG sudo $username
echo "User '$username' created with password successfully."
#
# SSH
#
echo "Setup SSH"
touch /etc/ssh/sshd_config.d/custom.conf
echo "PermitRootLogin no" >> /etc/ssh/sshd_config.d/custom.conf
echo "PermitEmptyPasswords no" >> /etc/ssh/sshd_config.d/custom.conf
systemctl reload ssh
#
# FIREWALL AND FAIL2BAN
#
echo "Setup Firewall and Fail2Ban"
apt install -y ufw fail2ban
systemctl enable fail2ban
ufw allow ssh
ufw allow http
ufw allow https
#
# TODO : ZABBIX AND URBACKUP
#
echo "TODO : Zabbix and Urbackup"
#
# CADDY
#
echo "Install Caddy Webserver"
apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list
apt update
apt install -y caddy
caddy run