Skip to content

Latest commit

 

History

History
322 lines (225 loc) · 7.98 KB

readme.md

File metadata and controls

322 lines (225 loc) · 7.98 KB

Summary

This guide will walk you through setting up a server so you can have a multimedia center in your home, and you can also make backups of important files in the same place.
Multimedia:

  • Movies
  • TV
  • Music

Recommended Setup

  • Set this up on a laptop or computer that you don't regularly use, and can leave running all day.
  • Install Debian without GUI, this will consume less resources and you won't need it.
  • You only need 30GiB for the system, the rest will be for your files.
  • Connect the laptop/PC via Ethernet, Wi-Fi can get slow or slow down your Wi-Fi for all other uses.
  • Do not open ports, use WireGuard/Tailscale.
  • Seed the files at least 1.0 ratio.

Requirements


Installing Docker and Docker Compose

resource.
(u can try podman)

Run the following command to uninstall all conflicting packages:

  1. Installation
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh ./get-docker.sh --dry-run
  1. Verify that the Docker Engine installation is successful by running the hello-world image.
sudo docker run hello-world

Permissions

Add your user to the docker group

sudo usermod -aG docker $USER

Log out and log back in.

Install the rest of apps

Download this repo

git clone https://github.com/brockar/docker-media-server.git

Create the necessary folders.
Here is an example directory structure.

/home/user/
├── backup
├── data
│   ├── media
│   │   ├── movies
│   │   ├── music
│   │   └── tv
│   └── torrents
└── docker
    ├── file-b
    ├── homepage
    ├── jellyfin
    ├── jellyseerr
    ├── lidarr
    ├── prowlarr
    └── sonarr

Use create_subfolders.sh to auto create this paths.

Modify the Docker Compose file by specifying your paths in the volumes: section of each container. Or use.env.example with your path.

Here we have all ready, now just

docker compose up -d

U can enter into apps from homepage or ip:port.

I use Homepage to collect all the links to the pages. Homepage Wiki.

Static IP

ip a

Look for the interface enXXX: inet , for example eno1 o enp1s0: 192.168.100.X.

Now, configure your IP to be static

sudo vim /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, you 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

Config auto download

General

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 app, we are going to sync our trackers in Sonarr, Radarr, and Lidarr. You need to configure that.

Configure qBittorrent/ruTorrent as you want. I recommend the "MaterialDesign" theme for ruTorrent and VueTorrent for qBittorrent.
Downloads > Default directory for downloads: data/torrents/
localhost:8080

Sonarr / (TV/Series) localhost:8989

Radarr / (Movies) localhost:7878

Set up both following the recommendations from TrashGuide.

Download

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/ruTorrent.

Enjoy your content (and seed it!)

at http://localhost:8096 or on your TV / Mobile.


Backup Samba

resource

Install samba
sudo apt install samba samba-common-bin

Modify the smb.conf file 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

Finally, log in using your Linux user from Linux/Windows/Android/iOS.

How to use

Media

Search for the content you want to download in its respective application.
Wait for it to download.
Watch it via Jellyfin.

Backup

To add the folder on Linux, just connect to smb://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

Extras

Nice-to-have containers

In the repository, there are several containers that might be useful to you.
I'll share their respective websites, and you can run them simply like this:

docker compose -f container.yml up -d

Portainer

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.

Logging In

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 compose.yml to App Template and deploy.

Done!.

Laptop as a server

If your 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 prevent the system from turning off.

sudo nano /etc/systemd/logind.conf

And change #HandleLidSwitch=suspend to
HandleLidSwitch=ignore