This repository contains terraform
configuration files to deploy a mediaserver(Plex)
and other required apps.
You will need terraform installed and a host
with docker installed.
Before running terraform init
, your directory tree should match the following:
├── LICENSE
├── README.md
├── bazarr.tf
├── flaresolverr.tf
├── jackett.tf
├── main.tf
├── nginxproxymanager.tf
├── organizr.tf
├── outputs.tf
├── overseer.tf
├── plex.tf
├── qbittorrentvpn.tf
├── radarr.tf
├── sonarr.tf
├── tautulli.tf
├── unpackerr.tf
└── variables.tf
- Clone this repository to your local machine
git clone https://github.com/jisorondo/terraform-docker-mediaserver.git
- Change into the project directory and initialize
terraform
cd ./terraform-docker-mediaserver
terraform init
- Modify the
variables.tf
file to your needs.
- Please see details regarding the containers and variables below.
- After modifying the
variables.tf
file verify the syntax is valid
terraform validate
- Check the plan output and when ready perform an apply to create the resources
terraform plan
terraform apply -auto-approve
-
Bazarr
- Searches and downloads subtitles. -
Jackett
- Torrent indexer. -
NginxProxyManager
- Reverse HTTP proxy with LetsEncrypt integration. -
Organizr
- Your one stop shop for your Servers Frontend. -
Overseerr
- Request management and media discovery system for Plex ecosystem. -
Plex
- MediaServer. -
QbittorrentVpn
- Torrent download client with VPN integration https://github.com/binhex/arch-qbittorrentvpn .var.vpn_prov
- VPN provider.var.vpn_user
- VPN user.var.vpn_pass
- VPN password.var.lan_network
- LAN cidr ex. 192.168.1.0/24. Allows access from LAN after the VPN connection has been established.
-
Radarr
- Fork of Sonarr to automatically download Movies via Bittorrent or Usenet. -
Sonarr
- Automatically downloads TV Shows via Bittorrent or Usenet. -
Tautulli
- Tool to use alongside Plex to monitor activity and track statistics -
Unpackerr
- Unpacks compressed completed downloads to be processed by Sonarr, Radarr, Lidarr -
Flaresolverr
- Proxy server to bypass Cloudflare protection. Useful as a companion for indexer proxies such as Prowlarr and Jackettvar.tz
- Container Timezone
var.appdata_prefix
- Path to Docker containers static configuration.var.media_prefix
- Path to the media folder on the host.var.docker_host
- Docker host string, defaults tounix:///var/run/docker.sock
refer to provider docs https://registry.terraform.io/providers/kreuzwerker/docker/2.25.0/docs#remote-hosts