Files
2025-03-16 10:09:58 +01:00
..
2025-02-25 20:00:50 +01:00
2025-02-25 20:00:50 +01:00
2025-02-25 20:00:50 +01:00
2025-02-25 20:00:50 +01:00
2025-02-25 20:00:50 +01:00
2025-02-25 20:00:50 +01:00
2025-02-25 20:00:50 +01:00
2025-02-25 20:00:50 +01:00
2025-02-25 20:00:50 +01:00
2025-02-25 20:00:50 +01:00
2025-02-25 20:00:50 +01:00
2025-02-25 20:00:50 +01:00
2025-02-25 20:00:50 +01:00
2025-02-25 20:00:50 +01:00
2025-02-25 20:00:50 +01:00
2025-02-25 20:00:50 +01:00
2025-02-25 20:00:50 +01:00
2025-02-25 20:00:50 +01:00
2025-02-25 20:00:50 +01:00
2025-03-16 08:54:44 +01:00

MediaStack Project (Docker) - min-vpn_single-yaml

Go to: https://github.com/geekau/mediastack

Download the full "mediastack" repository to your computer by selecting "Code" --> "Download Zip"

Extract the downloaded zip file, then go to the directory which suits your deployment method

Full deployment and configuration instructions are located at: https://MediaStack.Guide


What is "min-vpn_single-yaml"?

This directory contains the configuration to deploy the MediaStack in a minimal Secure VPN architecture, where only the qBittorrent client is using the VPN, and all other network traffic is sent straight out via your ISP's network connection.

This configuration uses multiple YAML files to deploy over 20 Docker containers. It may take a little longer to deploy and get your MediaStack Project containers deployed, it is much easier to troubleshoot problems when there are configuration issues that need to be debugged.

Multiple YAML configuration files is recommended for new Docker users, and for fault finding activities.


graph TD
    subgraph DockerNet[<center>Docker Networking - 172.28.10.0/24</center>]
        Jellyfin -..-> NIC
        Plex -.-> NIC
        Jellyseerr -..-> NIC
        Prowlarr -.-> NIC
        Radarr -..-> NIC
        Readarr -.-> NIC
        Sonarr -..-> NIC
        Mylar -.-> NIC
        Whisparr -..-> NIC
        Bazarr -.-> NIC
        Lidarr -..-> NIC
        Tdarr -.-> NIC
        SABnzbd -..-> NIC
        NIC[Host Network Interface]
        qBittorrent --- Gluetun
    end
    Gluetun ==>| Secure VPN | NIC
    NIC -.->| Insecure Data | Gateway[<center>Home</p>Gateway</center>]
    NIC ==>| Secure VPN | Gateway[<center>Home</p>Gateway</center>]
    Gateway -.->| Insecure Data |Internet{<center>General</p>Internet</center>}
    Gateway ==>|Secure VPN |VPN{<center>VPN Server</p>Anchor Point</center>}
    
    style Bazarr stroke:orange,stroke-width:2px
    style Lidarr stroke:orange,stroke-width:2px
    style Mylar stroke:orange,stroke-width:2px
    style Prowlarr stroke:orange,stroke-width:2px
    style Radarr stroke:orange,stroke-width:2px
    style Readarr stroke:orange,stroke-width:2px
    style Sonarr stroke:orange,stroke-width:2px
    style Tdarr stroke:orange,stroke-width:2px
    style Whisparr stroke:orange,stroke-width:2px
    style Jellyfin stroke:orange,stroke-width:2px
    style Plex stroke:orange,stroke-width:2px
    style qBittorrent stroke:green,stroke-width:2px
    style Jellyseerr stroke:orange,stroke-width:2px
    style SABnzbd stroke:orange,stroke-width:2px
    style Gluetun stroke:green,stroke-width:2px
    style VPN stroke:green,stroke-width:2px
    style Internet stroke:orange,stroke-width:2px


NOTE: Many of the Docker applications are passing traffic through the Gluetun VPN container. When the Gluetun container stops, or if the VPN network connection is interrupted, then all network traffic for the other Docker applications, will also stop until the secure VPN connection is re-established.


Multiple YAML Files Deployment:

New users benefit from using multiple YAML files, each dedicated to an individual Docker application. This modular approach simplifies troubleshooting and allows users to manage each service independently. If an issue arises, its easier to pinpoint and resolve. Additionally, it provides flexibility to update or redeploy specific applications without affecting the entire stack.

If you choose to deploy the Docker containers individually, you MUST deploy the Gluetun container first. The Gluetun Docker container sets up the essential network configurations that establish the foundational network infrastructure for all other Docker containers. Without it, subsequent deployments will fail, as they rely on the network settings defined within the Gluetun YAML file. This prerequisite ensures that all containers can communicate correctly and securely within the Docker network.

NOTE: You must update the docker-compose.env file for your needs, prior to running docker compose.

Example:

nano docker-compose.env
docker compose --file docker-compose-gluetun.yaml      --env-file docker-compose.env up -d  

docker compose --file docker-compose-jellyfin.yaml     --env-file docker-compose.env up -d  
docker compose --file docker-compose-jellyseerr.yaml   --env-file docker-compose.env up -d  
docker compose --file docker-compose-plex.yaml         --env-file docker-compose.env up -d  

docker compose --file docker-compose-prowlarr.yaml     --env-file docker-compose.env up -d  
docker compose --file docker-compose-lidarr.yaml       --env-file docker-compose.env up -d  
docker compose --file docker-compose-mylar.yaml        --env-file docker-compose.env up -d  
docker compose --file docker-compose-radarr.yaml       --env-file docker-compose.env up -d  
docker compose --file docker-compose-readarr.yaml      --env-file docker-compose.env up -d  
docker compose --file docker-compose-sonarr.yaml       --env-file docker-compose.env up -d  
docker compose --file docker-compose-whisparr.yaml     --env-file docker-compose.env up -d  
docker compose --file docker-compose-bazarr.yaml       --env-file docker-compose.env up -d  
docker compose --file docker-compose-jackett.yaml      --env-file docker-compose.env up -d 


docker compose --file docker-compose-qbittorrent.yaml  --env-file docker-compose.env up -d  
docker compose --file docker-compose-sabnzbd.yaml      --env-file docker-compose.env up -d  

docker compose --file docker-compose-unpackerr.yaml    --env-file docker-compose.env up -d  
docker compose --file docker-compose-tdarr.yaml        --env-file docker-compose.env up -d  

docker compose --file docker-compose-swag.yaml         --env-file docker-compose.env up -d  
docker compose --file docker-compose-authelia.yaml     --env-file docker-compose.env up -d  
docker compose --file docker-compose-heimdall.yaml     --env-file docker-compose.env up -d  
docker compose --file docker-compose-ddns-updater.yaml --env-file docker-compose.env up -d  
docker compose --file docker-compose-flaresolverr.yaml --env-file docker-compose.env up -d  

docker compose --file docker-compose-portainer.yaml    --env-file docker-compose.env up -d  

Additionally, if there are some Docker applications you do not want to run in your MediaStack, then you just don't run the docker compose command for these applications.


---

Follow the deployment instructions at: https://MediaStack.Guide

See you on Reddit for MediaStack