We first need to safely store our VPN Provider username and password into a Kubernetes secret. Create a Kubernetes secret to store your VPN password I will be using NordVPN but change appropriately to your need.ġ. The image haugene/transmission-openvpn includes Transmission and supports a very large range of VPN providers (see here) to obfuscate the traffic. Because many Internet providers and Governments disproves BitTorent download, we are going to deploy Transmission alongside a VPN.
The first bit of software to install is Transmission, an open-source BitTorent client offering an API, great for integration and automation. Add the following repository to your Helm using the following command: 1īitTorrent client - Transmission over VPN Someone already made a very good job at creating specific Helm Charts for the all the software we wish to install in this tutorial. Try the URL from your browser and confirm it returns the error message 503 Service Temporarily Unavailable which is normal because we haven’t deployed anything yet. Confirm the Ingress is correctly deployed ServiceName: "transmission-transmission-openvpn"ĭeploy the Ingress by applying the file.
Media-ssd Bound media-ssd 200Gi RWO manual 26sĪfter the persistent volume, we are now going to deploy the ingress responsible of making accessible a service from outside the cluster by mapping an internal service:port to a host. NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
You can verify the PVC exists with the following command: 1 Unlike the PV, the PVC belongs to a namespace. The Persistent Volume Claim is used to map a Persistent Volume to a deployment or stateful set.
Media-ssd 200Gi RWO Retain Available manual 34sĢ. NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE You can verify the PV exists with the following command: 1 The Persistent Volume specifies the name, the size, the location and the access modes of the volume:Ĭreate the following file and apply it to the k8 cluster. If you followed the previous articles to install and configure a self-hosting platform using RaspberryPi and Kubernetes, you remember we have on each worker a NFS client pointing to a SSD on /mnt/ssd. The first step consists in setting up a volume to store our media files and data required to run each component. To create a namespace, run the following command: 1 We are going to isolate all the Kubernetes objects related to the Media Center into the namespace media. Media Center/Player: Plex (server/player) will allow us to make our Media resources accessible from anywhere.It searches, launches downloads and renames files when they go out TV Show/Movie Media Management: We’ll use Sonarr and Radarr to automate the media aggregation.Downloaders: Transmission is a BitTorrent client to download the files.Torrent Proxy: Jackett is a Torrent Providers Aggregator tool helping to find efficiently BitTorent files over the web.Persistence: A dedicated volume on the SSD to store the data and files.
The Media Center will be composed of the following components:
In the next article of this series, we will learn how to install and configure a Media Center onto our Kubernetes platform to automate the media aggregation and management and play our Media files.
This article is part of the series Build your very own self-hosting platform with Raspberry Pi and Kubernetes