[–] 2 points 2 months ago (1 child)

Ah yes sure you can do that.

If you install it as a simple package you just cd into the folder you want and run the command 'copyparty' otherwise you can simply use docker compose and set it up that way: https://jaredheinrichs.substack.com/p/how-to-setup-copyparty-using-docker

there you can just point the path of your syncthing folder into the /media directory inside the docker container

  • source
  • parent
  • context
  •  

    With a whole slew of new reasons on why subscribing to streaming services WILL give you worse services than NOT subscribing to them, i think it's time to write a new up-to-date guide on how to install and configure an Arr-Stack + qBitTorrent via Docker-Compose.

    0. Preamble

    All these guides assume you have basic knowledge about docker & docker compose. To quickly summarize the methods here:

    You either use a webui to manage your docker-compose like Dockge or you create a folder and a docker-compose.yaml for each service listed here and copy the contents of each of them into that docker-compose.yaml; IMPORTANT: You HAVE to name them docker-compose.yaml exactly like that. Do NOT name them radarr.yaml for example. After you created a docker-compose.yaml and filled it with the contents here, you simply run docker compose up -d

    I specifically did NOT route all those docker-compose files through a VPN container like Gluetun. In my case i have my Mullvad VPN setup on my router directly and selected the whole server to be tunneled through that VPN.

    You can add a VPN container to your setup and route all the docker compose files through that. But i will not go through this on this guide. There are guides out there how to do that and you can even ask any big enough LLM as this isn't really that complicated.

    Just as a simple run through. Install Gluetun as an additional docker container and append network_mode: "container:gluetun" at the end of every docker-compose.yaml here according to the gluetun readme. You also have to remove all the ports: sections in the docker-compose.yamls of each service because it will throw an error if you use the network_mode: and you then have to add the ports of each service into the gluetun docker-compose.yaml. You can then start a console for each docker container and check if the outside world IP adress is NOT your real one with curl ipinfo.io

    For every configuration step in this guide where it says "ipofyourserver" for sonarr, radarr, etc. you will have to change that to 127.0.0.1 as they all run inside the same network of gluetun.

    This is a super super quick run through and you HAVE to properly configure gluetun and run tests that stopping that container does NOT let your real IP go through.


    1. Folder Structure

    If you want to store all your media on a NAS or some other external drive, make sure it is configured properly for symlinking / hardlinking and that you have proper permissions for this storage. Everything here will run with the 1000 user and has to create new files to work.

    So this is the folder structure i use. And it is stored on a NFS-Share coming from my TrueNAS.

    arr-stack (for this example let's say it's located in /mnt/arr-stack)
    	|---- media
    	    |---- movies
    	    |---- shows
    	    |---- music
    	    |---- etc.
    	|---- configs
    	    |---- radarr
    	    |---- sonarr
    	    |---- qbittorrent
    	    |---- etc.
    	|---- torrents
    	    |---- complete
    

    I intentionally broke out the torrent folder to make it easier accessible for when you download something fully manual and you want to grab it out of the 'completed' folder without searching too deep.


    2. Docker-Compose Files for each service

    qBitTorrent is the download application for Torrents. Alternatively you can use NZBget but i find Sab to be more modern, versatile and i just like it.

    qBitTorrent

    services:
      qbittorrent:
        image: lscr.io/linuxserver/qbittorrent:latest
        container_name: qbittorrent
        environment:
          - PUID=1000
          - PGID=1000
          - TZ=Etc/UTC
          - WEBUI_PORT=8081
        volumes:
          - /mnt/arr-stack/configs/qbittorrent/config:/config
          - /mnt/arr-stack/torrents/complete:/mnt/arr-stack/torrents/complete
        ports:
          - 8081:8081
          - 6881:6881
          - 6881:6881/udp
        restart: unless-stopped
    networks: {}
    

    Radarr and Sonarr are the applications that will actually find and track your Movies (Radarr) and Shows (Sonarr). Additionally there is Lidarr for Music and Whisparr for porn.

    Radarr

    services:
      arch-radarr:
        ports:
          - 7878:7878
        container_name: radarr
        volumes:
          - /mnt/arr-stack:/mnt/arr-stack
          - /mnt/arr-stack/configs/radarr:/config
          - /etc/localtime:/etc/localtime:ro
        environment:
          - PUID=1000
          - PGID=1000
        image: binhex/arch-radarr
        restart: unless-stopped
    networks: {}
    

    Sonarr

    services:
      arch-sonarr:
        ports:
          - 8989:8989
          - 9897:9897
        container_name: sonarr
        volumes:
          - /mnt/arr-stack:/mnt/arr-stack
          - /mnt/arr-stack/configs/sonarr:/config
          - /etc/localtime:/etc/localtime:ro
        environment:
          - PUID=1000
          - PGID=1000
        image: binhex/arch-sonarr
        restart: unless-stopped
    networks: {}
    

    Prowlarr is the application where you can configure your torrent sites. There you will put in the URLs of your trackers and your API keys for those sites. Prowlarr will periodically check the availability of those services and will sync these accounts to all your connected services (Radarr, Sonarr, Lidarr, Whisparr, etc.). Prowlarr will then be doing the actual heavy lifting of accessing the API of any torrent tracker and search for your stuff.

    Prowlarr

    services:
      arch-prowlarr:
        ports:
          - 9696:9696
        container_name: prowlarr
        volumes:
          - /mnt/arr-stack/configs/prowlarr:/config
          - /etc/localtime:/etc/localtime:ro
        environment:
          - PUID=1000
          - PGID=1000
        image: binhex/arch-prowlarr
        restart: unless-stopped
    networks: {}
    

    3. Configuring each service

    Now that we have all these Services up and running. It's time to properly configure them. Let's start with qBitTorrent

    3.1 qBitTorrent

    1. Open the Webui with http://ipofyourserver:8081/
    2. Click on "Tools" in the menu bar
    3. Click on Options
    4. Click on Web Ui
    5. Under "Authentification" change your Username and Password
    6. Click on Save at the bottom

    3.2 Sonarr

    1. Open the Webui with http://ipofyourserver:8989/
    2. Click on Settings

    Root Folder

    1. Click on "Media Management"
    2. Under Root Folders, add /mnt/arr-stack/media/shows

    Connect qBitTorrent

    1. Click on "Download Clients"
    2. Click on the big PLUS icon
    3. Select qBitTorrent
    4. Enter the IP Adress of your server
    5. Port: 8081
    6. Enter your username and passwort from earlier
    7. Under Category enter tv
    8. Check "Remove Completed"
    9. Click on Test and Save

    Grab your API Token

    1. Click on General
    2. Copy API Key and save it for later. We need it for Prowlarr

    3.3 Radarr

    1. Open the Webui with http://ipofyourserver:7878/
    2. Click on Settings

    Root Folder

    1. Click on "Media Management"
    2. Under Root Folders, add /mnt/arr-stack/media/movies

    Connect qBitTorrent

    1. Click on "Download Clients"
    2. Click on the big PLUS icon
    3. Select qBitTorrent
    4. Enter the IP Adress of your server
    5. Port: 8081
    6. Enter your username and passwort from earlier
    7. Under Category enter tv
    8. Check "Remove Completed"
    9. Click on Test and Save

    Grab your API Token

    1. Click on General
    2. Copy API Key and save it for later. We need it for Prowlarr

    The same procedure goes for Lidarr and Whisparr aswell with their respective categories changed.


    3.4 Prowlarr

    1. Open the Webui with http://ipofyourserver:9696/
    2. Click on Settings

    Connect Sonarr and Radarr

    1. Click on Apps
    2. Click on the big Plus Icon
    3. Click on Sonarr
    4. Sync Level "Full Sync"
    5. Tags: none
    6. Prowlarr Server: http://localhost:9696/
    7. Sonarr Server: http://ipofyourserver:8989/
    8. API Key from Sonarr
    9. Test and Save
    10. Rinse and Repeat for Radarr with adjusted infos

    Add Indexers

    1. Click on Indexers
    2. Click on Add Indexer
    3. Type in the name of your indexer. Many of the big ones will be pre configures
    4. Example: The Pirate Bay
    5. Click on the entry
    6. Check "Enable"
    7. Sync Profile "Standard"
    8. Under Base URL select the first one (you may have to cycle through if one of them doesn't work)
    9. Enter your Seed Ratio
    10. Test and Save

    Prowlarr will now test and sync the indexers to your other apps like Sonarr and Radarr. Manually click on Test all Inders and then on Sync all Indexers. Now go back to Sonarr and Radarr and click on Settings -> Indexers and check if Drunkenslug (in our example) shows up there.


    4. You're done

    Now this is obviously just the tip of the iceberg. You still don't have "finetuned" profiles and explaining these would absolutely blow up the scope of this post.

    I highly recommend you to check out these two posts over on the trash-guides site: Sonarr Profiles and Radarr Profiles

    So, these are the basics and there is much more to finetune. But you absolutely are ready to go sailing on the high seas now!

    If you're looking for a neat mobile app to manage your sonarr, radarr and sabnzbd i highly recommend you check out nzb360.

    Here is an alternate guide on how to set it up for Usenet Downloads: https://lemmy.dbzer0.com/post/26287096

    Part 2 of this Guide is aiming for Jellyfin + Jellyseer: https://lemmy.dbzer0.com/post/26296377

    • /mnt/arr-stack/torrents/complete:/mnt/arr-stack/torrents/complete
     

    Hello,

    so i just started to do some macro writing and had to get some help by ChatGPT because i am no programmer. But i made something useful for me.

    import FreeCAD
    import PartDesignGui
    import Draft
    import Part
    import PartDesign
    from FreeCAD import Base
    
    doc_name = App.activeDocument().Label
    
    sels = FreeCADGui.Selection.getSelectionEx('', 0)
    facebinder1 = Draft.make_facebinder(sels[0])
    facebinder2 = Draft.make_facebinder(sels[1])
    Draft.autogroup(facebinder1)
    Draft.autogroup(facebinder2)
    FreeCAD.ActiveDocument.recompute()
    App.getDocument(doc_name).addObject('Part::Loft','Loft')
    App.getDocument(doc_name).ActiveObject.Sections=[App.getDocument(doc_name).Facebinder, App.getDocument(doc_name).Facebinder001, ]
    App.getDocument(doc_name).ActiveObject.Solid=True
    App.getDocument(doc_name).ActiveObject.Ruled=False
    App.getDocument(doc_name).ActiveObject.Closed=False
    

    I select two faces from two bodies and it will create two seperate facebinders and performs a loft with those two.

    This allows me to make a loft in one fell swoop. However the facebinders created by the

    Draft.make_facebinder(sels[X])

    will always come out as Facerbinder and Facebinder001 and counting upwards. I don't see any way to change those names. Yes, i can do something with labels, but the following part of

    App.getDocument(doc_name).ActiveObject.Sections=[App.getDocument(doc_name).Facebinder, App.getDocument(doc_name).Facebinder001, ]

    doesn't seem to work with labels... As you can see Facebinder and Facebinder001 are hardcoded in there. Is there any way to either fully rename items so i could go for facebinder_temp1 and _temp2 and then rename them afterwards to make room for another _temp1 and _temp2 again or if i can somehow let the Loft function know what Facebinders were created prior?

    Sorry if this is a little bit unstructured i am bashing my head right now... maybe you can help me out here.

    Thanks!


    EDIT:

    Solution was:

    # -*- coding: utf-8 -*-
    
    # Macro Begin: /home/frank-garuda/.local/share/Ondsel/Macro/asfasdf.FCMacro +++++++++++++++++++++++++++++++++++++++++++++++++
    import FreeCAD
    import PartDesignGui
    import Draft
    import Part
    import PartDesign
    
    # Gui.runCommand('Std_DlgMacroRecord',0)
    ### Begin command Part_Loft
    from FreeCAD import Base
    
    # Get document name
    doc_name = App.activeDocument().Label
    
    # Gui.runCommand('Std_DlgMacroRecord',0)
    ### Begin command Std_Workbench
    # Gui.activateWorkbench("DraftWorkbench")
    ### End command Std_Workbench
    ### Begin command Draft_Facebinder
    sels = FreeCADGui.Selection.getSelectionEx('', 0)
    facebinder1 = Draft.make_facebinder(sels[0])
    facebinder1.Label = "Facebinder_Loft_1"
    facebinder2 = Draft.make_facebinder(sels[1])
    facebinder2.Label = "Facebinder_Loft_2"
    Draft.autogroup(facebinder1)
    Draft.autogroup(facebinder2)
    FreeCAD.ActiveDocument.recompute()
    App.getDocument(doc_name).addObject('Part::Loft','Loft')
    App.getDocument(doc_name).ActiveObject.Sections=[facebinder1, facebinder2, ]
    App.getDocument(doc_name).ActiveObject.Solid=True
    App.getDocument(doc_name).ActiveObject.Ruled=False
    App.getDocument(doc_name).ActiveObject.Closed=False
    
     

    cross-posted from: https://lemmy.dbzer0.com/post/287462

    Browse through thousands of Roms from a myriad of consoles


    The 3DS Modders of you might know this page aswell as myrient is the backbone of hShop. But to all the others, enjoy this wonderful fileserver!

    It contains nearly every ROM i searched for. The newer consoles are not on it (Switch, PS4, etc.) but all the retro consoles, heck even up to the 3DS, is all there.

    You can connect to it via FTP, Rsync or browse the fileserver straight from their website.

    They got different repacks of the games and usually offer all different regional releases.

    Have fun with it!

    view more: next ›