Unraid Media Streaming Server
Abstract
This guide explains how to setup Unraid as a full media streaming server
Pre-Requisites
- Unraid installed
How to setup each application
This guide is based on my own experience combined with the information found on Trash guides.
Data share
The first step is to create a data share where all your will be stored, and streamed from. Feel free to give it any name. I will use 'data'.
After creating the share, go to the contents of the share and create this exact folder structure.
You can use the create button to create new folders.
Torrent application
Feel free to use any torrent application recommended in the Trash guides. I will be using Deluge.
Via the Community Applications search for 'deluge'. I chose to use the image from Linuxserver
You can leave everything default, except for the container path. You need to point the /downloads folder from the docker image, to your created /torrents folder
Go to the GUI of the application, and log in with password 'deluge'.
Apply the following settings in preferences:
Create labels on the left by right clicking, and creating 2 labels called 'radarr' and 'tv-sonarr'.
Right click the label "radarr", and choose "Label Options"
Apply the following settings:
To the same for the label "tv-sonarr"
Configure Proxmox Backup Client
1. First backup
sudo proxmox-backup-client backup "backupname".pxar:"directory" --repository "backupuser"@pbs@"PBS-IP":"DataStoreName" -ns "YourNameSpace"
Example:
sudo proxmox-backup-client backup mkdocsbackup.pxar:/home/user/docker --repository ardougneBackupUser@[email protected]:HDD-storage-5Tb -ns azure_mkdocs
2. List all backups
proxmox-backup-client list --repository "backupuser"@pbs@"PBS-IP":"DataStoreName" -ns "YourNameSpace"
example:
proxmox-backup-client list --repository ardougneBackupUser@[email protected]:HDD-storage-5Tb -ns azure_mkdocs
3. Backup encryption
Fill in your desired key4. Storing credentials
This is so that you do not need to enter credentials for each backups.
-
Environment variables: is an option, but credentials are stored in plain text.
-
Systemd credentials: are stored as encrypted files that only systemd decrypts when launching a service. We will be using systmd credentials for this guide.
To store the password of the backup user:
sudo systemd-ask-password -n | systemd-creds encrypt --name=proxmox-backup-client.password - /your/password/directory/password.cred
To store the encryption key we created:
systemd-ask-password -n | sudo systemd-creds encrypt --name=proxmox-backup-client.encryption-password - /home/user/encryption-password.cred
Let's create a systemd service:
Paste in the following (fill in your own details and remove the quotes):
[Unit]
Description=Proxmox Backup Client service
Wants=network-online.target
After=network-online.target
[Service]
Type=oneshot
ExecStart=proxmox-backup-client backup "backupname".pxar:/home/user/docker \
--repository "backupuser"@pbs@"PBS-IP":"DataStoreName" \
-ns "YourNameSpace" \
--keyfile /home/user/encryption.key
LoadCredentialEncrypted=proxmox-backup-client.password:/home/user/password.cred
LoadCredentialEncrypted=proxmox-backup-client.encryption-password:/home/user/encryption-password.cred
[Install]
WantedBy=multi-user.target
Reload systemd so it picks up the service
Test it:
5. Schedule a backup
To start a backup at a certain time
[Unit]
Description=Run backup daily at 2am
[Timer]
OnCalendar=*-*-* 02:00:00
Persistent=true
[Install]
WantedBy=timers.target
6. Restore a backup
First list all your backups:
sudo proxmox-backup-client snapshot list "backupname".pxar:"directory" --repository "backupuser"@pbs@"PBS-IP":"DataStoreName" -ns "YourNameSpace"
To restore a backup: