Skip to content

maxenceng/home-lab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Home Lab

Project based on k3s to host various apps to manage tv shows and movies.

Applications

Homepage: Application dashboard

Prowlarr: Torrent indexer

Flaresolverr: Bypass Cloudflare and DDoS-GUARD protection. Solely used by Prowlarr

Sonarr: Queues TV shows requests and processes them when completed

Radarr: Same as Sonarr but for movies

Transmission: Torrent downloader

Jellyfin: Library manager and media system for your video files

Jellyseerr: Displays popular movies and tv shows you can request

ArgoCD: Deploys applications easily and with a GUI

How to use

Prerequisites

  • Use mv .env.example .env and replace the required variables
  • Create a Tailscale account and follow the instructions
  • Taskfile installed

GPU Usage

If you have an Nvidia GPU, use task install-nvidia after task prepare If you don't have an Nvidia GPU, comment the resources lines in lab/jellyfin/values.yaml)

Commands

On your remote server, you have to use

sudo ./setup/server.sh

This will start the server and create a folder to contain our resources. You can export the configuration with this command :

scp user@192.168.1.1:/etc/rancher/k3s/k3s.yaml ~/.kube/config
sed -i 's/127\.0\.0\.1/192\.168\.1\.1/g' ~/.kube/config

Change these two lines with whatever ip address your private server uses.

On your current computer, you can now access your cluster with kubectl get pods -A

You can follow the changes that will be made with one of these : OpenLens or k9s

You can now use the next shell script that will initiate everything for your cluster

task setup

You have to change the samples for the 2 secrets we need and use

task set-secrets

You can prepare the cluster for applications with

task prepare

After that, use

task create-apps

After a few seconds, everything will be deployed and available ! To configure your application, you have to set up internal urls as [application]:[service-port]. You can access your applications at https://[application].[tailscale-dns]

Stop & Teardown

In order to stop the applications, you can use ArgoCD's GUI to uninstall applications.

If you want to destroy everything, you have to use setup/teardown.sh

Resources

Helm Simplifies common configurations

Gluetun: VPN container to use transmission over VPN

Tailscale: Private WireGuard with DNS resolution

PostgreSQL: SQL Database

⚠️ Cloudflare Tunnel doesn't allow video streaming, so I opted out of it in favor of Tailscale

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages