Tipsy Tech Talk

S1E12 - Shaken, Not Stirred


Listen Later

This week we're honoring the Academy Awards by discussing movie cocktails and in-home media servers!

We start with 007's favorite drink (shaken, not stirred) and talk hardware and software options for how to have your very own media server inside your house.

From there we bring in Scarface's Cuba Libre to assist us in actually building a media server out of an old machine that we bring back to life with Linux.

Interested in doing something similar at home? Here's how we did it!

Follow along with the video to see the step by step instructions, but here's a lot of the commands for you to paste into your CLI. Be sure to read them prior to pasting to confirm there isn't a specific variable or detail you need to change for your machine.

To see your new IP address:

ip addr show

To run updates:

sudo apt update

sudo apt upgrade -y


Go to another computer in your home and ssh into the Linux box for the rest of this.

To SSH:

ssh username@ipaddress (change these variables accordingly)


Install Docker Pre-reqs:

sudo apt install -y ca-certificates curl gnupg lsb-release


Add Docker's GPG Key:

sudo mkdir -p /etc/apt/keyrings

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

Set up Repository (There should be a Angled Bracket [Shift + .] after docker.list):

echo \

"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \

$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list (angled bracket, see above) /dev/null


Install Docker:

sudo apt update

sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin


Add user to docker group:

sudo usermod -aG docker $USER

Verify Docker:

docker --version


Create home for Plex:

mkdir -p ~/docker/plex/config

mkdir -p ~/media/movies

mkdir -p ~/media/tv


Create YAML File:

nano ~/docker/plex/docker-compose.yml


YAML File:

services:

plex:

image: lscr.io/linuxserver/plex:latest

container_name: plex

network_mode: host

environment:

- PUID=1000

- PGID=1000

- TZ=Etc/UTC # Change to your timezone, e.g., America/New_York

- VERSION=docker

volumes:

- ~/docker/plex/config:/config

- ~/media/tv:/tv

- ~/media/movies:/movies

restart: unless-stopped


Launch Server:

cd ~/docker/plex

docker compose up -d


Claim Server in Web Browser:

http://IPAddress:32400/web


Set permissions:

sudo chown -R $USER:$USER ~/media


Install Cockpit:

sudo apt update

sudo apt install -y cockpit


Enable Cockpit:

sudo systemctl enable --now cockpit.socket


Confirm Cockpit access in Web Browser:

https://IPAddress:9090


Keep PC from Going to sleep:

sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target


Create Volume for Portainer:

docker volume create portainer_dataRun 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


Access Portainer via Web Browser:

https://IPAddress:9443


Add Tailscale VPN:

curl -fsSL https://tailscale.com/install.sh | sh


Bring Tailscale Connection Up:

sudo tailscale up


Find Tailscale IP address:

tailscale ip -4


Install Samba on Linux server:

sudo apt update

sudo apt install samba -y


Create Samba User:

sudo smbpasswd -a (insert user name here)


Setup Plex Group Permissions:

sudo groupadd plex

sudo usermod -aG plex (Insert username here)

sudo chown -R (insert username here):plex ~/media/movies

sudo chmod -R 775 ~/media/movies

Configure Share:

sudo nano /etc/samba/smb.conf


Paste block into bottom:

[Movies]

path = /home/joseph/media/movies

read only = no

browsable = yes

guest ok = no


Start Service:

sudo systemctl restart smbd


And there you go! Map your drive to your PC, move your digital files over, and go watch them on Plex!

...more
View all episodesView all episodes
Download on the App Store

Tipsy Tech TalkBy Tipsy Tech Talk