We are going to set up a server so you can have a multimedia center in your home and you can also make your backups of important stuff in the same place! Multimedia:
- Movies
- TV
- Music
- Set this up on a laptop or cpu that you don't use and can be on all day.
- Install Debian without GUI (GNOME), this will consume less resources and you won't need it.
- For the system you only need 30gb, the rest will be for your files.
- Connect the laptop/pc via ethernet, wifi can get slow or slow down your wifi for all other uses.
- Do not open ports, use WireGuard.
- Seed the files at least 1.0 ratio.
- debian/debian based distro
- your user with sudo
- git and curl (
sudo apt install git curl
) - docker and docker compose here.
- Static ip
resource.
Run the following command to uninstall all conflicting packages:
- Run the following command
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh ./get-docker.sh --dry-run
- Verify that the Docker Engine installation is successful by running the hello-world image.
sudo docker run hello-world
Add your user to the docker group
sudo usermod -a -G docker $USER
Logout and logging
Download this repo
git clone https://github.com/brockar/docker-media-server.git
Make the folders you need.
My directory organization is as follows:
/home/user/
├── backup
└── media-server
├── file-b
├── homepage
├── jellyfin
├── jellyseerr
├── lidarr
├── media
│ ├── movies
│ ├── music
│ └── tv
├── prowlarr
├── radarr
├── rtorrent
├── sonarr
└── torrents
Modify the docker compose with your paths, on each volumes:
on each container.
Here we have all ready, now just
docker compose up -d
U can enter into apps from homepage or ip:port
.
Homepage Wiki.
ip a
Look for enXXX: inet , for example eno1 o enp1s0: 192.168.100.X
.
Now configure to static your ip
sudo nano /etc/network/interfaces
from
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto enp1s0
iface enp1s0 inet dhcp
to
# The loopback network interface
auto lo
iface lo inet loopback
#The primary network interface
auto enp1s0
iface enp1s0 inet static
address 192.168.100.100 # Select your ip, i recommend .100, u can select from 2 to 255 but if is low, can fails.
netmask 255.255.255.0
gateway 192.168.100.1 # The same as your initial ip but with an 1 at the least
Configure Prowlarr (localhost:9696) to obtain the indexers (from where the torrents are obtained).
Add some (1337x, EZTV for example) and save them.
From this page we are going to grab the Torznab Feed and the KEY API for Sonarr, Radarr and Lidarr.
Configure ruTorrent as you want. I recommend the "MaterialDesign" theme.
Downloads > Default directory for downloads: /downloads/
(localhost:8080)
(localhost:8989)
Settings > Indexers.
Add the indexers from Jackett.
Just select TVs, not movies.
You can also configure the rest as you wish.
(localhost:7878/)
Do the same as in Sonar but with series.
Now you just have to add the series (Sonarr) you want to watch and the movies (Radarr) or music (Lidarr).
You can view the status of downloads in the applications themselves or in qBittorrent.
at https://localhost:8096 or on your TV / Mobile.
Install samba
sudo apt install samba samba-common-bin
change smb.conf to share the folder
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.backup
sudo nano /etc/samba/smb.conf
At the end of the file add:
[share-name]
path = /home/user/backup
browseable = Yes
read only = No
wins support= Yes
Finally
sudo systemctl restart smbd
and log in with your linux user.
Search for the content you want to download in its respective application.
Wait for it to download.
Watch it on Jellyfin.
To add the folder on linux, just connect to smb:https://ip/share-name
.
Or can mount as a folder.
On Windows, in the explorer (This PC > ...
) you can:
- Connect to a media server
- Add a network location
- Map network drive
with \\ip\share-name
resource.
A management tool for Docker.
First, create the volume that Portainer Server will use to store its database:
docker volume create portainer_data
Then, download and install the Portainer Server container:
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
By default, Portainer generates and uses a self-signed SSL certificate to secure port 9443
Portainer Server has now been installed. You can check to see whether the Portainer Server container has started by running docker ps
.
Now that the installation is complete, you can log into your Portainer Server instance by opening a web browser and going to:
https://localhost:9443
You can add this docker-compose.yml
to App Template and deploy.
Done!.
If u server is a laptop, run the following commands:
apt install vbetool
to screen off
sudo vbetool dpms off
to screen on
sudo vbetool dpms on
to close screen and dont turn off
sudo nano /etc/systemd/logind.conf
and change #HandleLidSwitch=suspend
to
HandleLidSwitch=ignore