Skip to content

Instantly share code, notes, and snippets.

@lucianoshl
Created December 4, 2017 15:06
Show Gist options
  • Save lucianoshl/4b470b1718722f2628c9ea08e981a5c3 to your computer and use it in GitHub Desktop.
Save lucianoshl/4b470b1718722f2628c9ea08e981a5c3 to your computer and use it in GitHub Desktop.
echo "Installing Deluge"
add-apt-repository ppa:deluge-team/ppa -y
apt-get update
apt-get install deluged deluge-web deluge-console -y
# create deluge user
adduser --disabled-password --gecos "" downloader
adduser --system --gecos "Deluge Service" --disabled-password --group --home /var/lib/deluge deluge
echo "$user:$pass:10" >> /var/lib/deluge/.config/deluge/auth
# create file in downloader user and fix permissions
adduser downloader deluge
mkdir /home/downloader/apps/deluge/{complete,incomplete,blackhole,torrent} -p
chown downloader:downloader /home/downloader -R
chown downloader:deluge /home/downloader/apps/deluge/ -R
chown deluge:deluge /var/lib/deluge -R
# install deluge service
! rm /etc/systemd/system/deluged.service
cat <<EOT >> /etc/systemd/system/deluged.service
[Unit]
Description=Deluge Bittorrent Client Daemon
Documentation=man:deluged
After=network-online.target
[Service]
Type=simple
User=deluge
Group=deluge
UMask=007
ExecStart=/usr/bin/deluged -d -l /var/log/deluge/daemon.log -L warning
Restart=on-failure
TimeoutStopSec=300
[Install]
WantedBy=multi-user.target
EOT
systemctl enable /etc/systemd/system/deluged.service
systemctl restart deluged
systemctl status deluged
# install deluge-web service
! rm /etc/systemd/system/deluge-web.service
cat <<EOT >> /etc/systemd/system/deluge-web.service
[Unit]
Description=Deluge Bittorrent Client Web Interface
Documentation=man:deluge-web
After=network-online.target deluged.service
Wants=deluged.service
[Service]
Type=simple
User=deluge
Group=deluge
UMask=027
ExecStart=/usr/bin/deluge-web -l /var/log/deluge/web.log -L warning -p 8080
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOT
systemctl enable /etc/systemd/system/deluge-web.service
systemctl restart deluge-web
systemctl status deluge-web
# deluge logging folder
mkdir -p /var/log/deluge
chown -R deluge:deluge /var/log/deluge
chmod -R 750 /var/log/deluge
! rm /etc/logrotate.d/deluge
cat <<EOT >> /etc/logrotate.d/deluge
/var/log/deluge/*.log {
rotate 4
weekly
missingok
notifempty
compress
delaycompress
sharedscripts
postrotate
systemctl restart deluged >/dev/null 2>&1 || true
systemctl restart deluge-web >/dev/null 2>&1 || true
endscript
}
EOT
# configure remote
deluge-console "config -s allow_remote True"
deluge-console "config allow_remote"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment