this post was submitted on 16 Mar 2025
74 points (96.2% liked)

Selfhosted

46688 readers
805 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
top 50 comments
sorted by: hot top controversial new old
[–] smiletolerantly@awful.systems 36 points 2 months ago (2 children)

Real question is, why Jackett instead of Prowlarr? πŸ˜„

[–] flightyhobler@lemm.ee 17 points 2 months ago (2 children)

Dunno, man. Its been working so far. I'll check out prowlarr, thanks

[–] smiletolerantly@awful.systems 12 points 2 months ago (2 children)

Yeah no worries - I discovered Prowlarr from that exact same comment years ago so jumped at the opportunity to post it here πŸ˜†

[–] flightyhobler@lemm.ee 11 points 2 months ago (8 children)

Tbh the whole arr suite is a headache to get working well...

[–] smiletolerantly@awful.systems 5 points 2 months ago (1 children)

Sorry to hear that that's been your experience! :( My installation has been running for ~5 years without any problems

[–] flightyhobler@lemm.ee 1 points 2 months ago (3 children)

you got the hard links working?

[–] rumba@lemmy.zip 2 points 2 months ago

Hell no, My downloads folder in my media folder are completely different. I copy everything from downloads to media It gets renamed, possibly resampled. The torrents are left in the original folder to seed unmolested.

Every once in a while I go through my torrent list and just tell the client to destroy the torrent and files for anything that I don't care to seed anymore. Zero chance of it breaking my actual store.

[–] entropicdrift@lemmy.sdf.org 2 points 2 months ago (2 children)

Hard links are a built-in feature of basically every modern filesystem. The bigger question to me is, why aren't hard links working for you?

[–] flightyhobler@lemm.ee 1 points 2 months ago (1 children)

There needs to be an overlap in the mount points of docker jellyfish and docker sonarr, etc. I don't think I got it right. Besides, sonar ends up not moving the series inside the tv shows folder, leaving the episodes outside, in the media folder above. If I knew exactly what was going on I would fix it. Last time I dealt with it was ages ago, so perhaps I can do it now.

[–] tux7350@lemmy.world 1 points 2 months ago (1 children)

The over lap of docker containers needs to happen from inside the perspective of the container. If you send Radarr to pull a movie from bittorrent, they both need to "be in the same spot". If bittorrent thinks it's saving a movie to /data/torrent then Radarr also needs to see the movie at /data/torrent.

That's why so many guides use the /data/ label scheme. Its just easy to use and implement. Side note, for hard links to work, all the folders need to be on the same drive. Can't hard link between different drives.

[–] flightyhobler@lemm.ee 1 points 2 months ago

This was the crux of my confusion, but after a couple of years of Docker, it now makes more sense to me 😁

[–] flightyhobler@lemm.ee 1 points 2 months ago

Just found this. https://lemm.ee/post/58579926

Seems like I'm not so weird after all....

[–] smiletolerantly@awful.systems 1 points 2 months ago

Yes - but I have no idea about docker, sorry. Have it running baremetal (or rather, in a proxmox VM).

Just a hunch, but in case you "only" share the directory where Sonarr puts Episode files with Jellyfin via some mount point or whatever, and not the directory where Sonarr gets them from (where the torrent client downloads to), then I can see hardlinks breaking in unexpected ways

[–] Shimitar@downonthestreet.eu 2 points 2 months ago

Never had an issue. But I installed them all using my distro package manager, so no hassle with volumes and links.

[–] roofuskit@lemmy.world 2 points 2 months ago (2 children)

Prowlarr, recyclarr, and trash guides.

[–] raldone01@lemmy.world 2 points 2 months ago* (last edited 1 month ago)

I tried recyclearr but found configarr to be more flexible.

https://github.com/raydak-labs/configarr/

Here is my configarr config:https://github.com/raldone01/configarr_config

I believe configarr is just a superset of recyclearr.

[–] flightyhobler@lemm.ee 1 points 2 months ago

it's those pesky docker volume maps and hardlinks

[–] yoshman@lemmy.world 2 points 2 months ago* (last edited 2 months ago) (1 children)

I have them all running in a docker compose, that also has gluetun as the gateway.

It's a real basic compse file, but I can share it if you like.

[–] flightyhobler@lemm.ee 2 points 2 months ago (2 children)

Sure, why not? I'm setting up my new server, so no better time. Thanks

[–] ikidd@lemmy.world 3 points 2 months ago* (last edited 2 months ago)

You might also want to check out https://yams.media/, it's pretty much an install script and configuration walkthrough that's very complete and detailed. Includes most relevant Arrs and gluetun builtin. Containerized. Choice of Emby, Plex or Jellyfin.

[–] yoshman@lemmy.world 3 points 2 months ago* (last edited 2 months ago)
services:
  gluetun:
    image: qmcgaw/gluetun
    container_name: gluetun
    cap_add:
      - NET_ADMIN
    environment:
      - DNS_ADDRESS=
      - PUID=1000
      - PGID=1000
      - SERVER_CITIES=
      - FIREWALL_VPN_INPUT_PORTS=
      - TZ=Etc/UTC
      # Provider readmes: https://github.com/qdm12/gluetun-wiki/tree/main/setup/providers
      - VPN_SERVICE_PROVIDER=
      #- VPN_TYPE=openvpn
      #- OPENVPN_CUSTOM_CONFIG=/config/custom.conf
      #- VPN_TYPE=wireguard
      #- WIREGUARD_PRIVATE_KEY=
      #- WIREGUARD_ADDRESSES=
    ports:
      - 6767:6767       # bazaar
      - 7878:7878       # radaar
      - 8118:8118       # privoxy
      - 8191:8191       # flaresolverr
      - 8787:8787       # readaar
      - 8989:8989       # sonaar
      - 9091:9091       # transmission
      - 9696:9696       # prowlarr
      # You can add an forwarded listening ports your VPN provider might have here as well.
    volumes:
      - /data/gluetun:/config
  bazarr:
    image: lscr.io/linuxserver/bazarr:latest
    container_name: bazarr
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
    volumes:
      - /data/bazarr:/config
      - /share/downloads/movies:/share/downloads/movies
      - /share/downloads/tv:/share/downloads/tv
    restart: unless-stopped
    network_mode: service:gluetun
  flaresolverr:
    # DockerHub mirror flaresolverr/flaresolverr:latest
    image: ghcr.io/flaresolverr/flaresolverr:latest
    container_name: flaresolverr
    environment:
      - LOG_LEVEL=info
      - LOG_HTML=false
      - CAPTCHA_SOLVER=none
      - TZ=Etc/UTC
    restart: unless-stopped
    network_mode: service:gluetun
  privoxy:
    image: caligari/privoxy:latest
    container_name: privoxy
    restart: unless-stopped
    network_mode: service:gluetun
  prowlarr:
    image: lscr.io/linuxserver/prowlarr:latest
    container_name: prowlarr
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
    volumes:
      - /data/prowlarr:/config
    restart: unless-stopped
    network_mode: service:gluetun
  radarr:
    image: lscr.io/linuxserver/radarr:latest
    container_name: radarr
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
    volumes:
      - /data/radarr:/config
      - /share/downloads/movies:/share/downloads/movies
    restart: unless-stopped
    network_mode: service:gluetun
  readarr:
    image: lscr.io/linuxserver/readarr:develop
    container_name: readarr
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
    volumes:
      - /data/readarr:/config
      - /share/downloads/books:/share/downloads/books
    restart: unless-stopped
    network_mode: service:gluetun
  sonarr:
    image: lscr.io/linuxserver/sonarr:latest
    container_name: sonarr
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
    volumes:
      - /data/sonarr:/config
      - /share/downloads/tv:/share/downloads/tv
    restart: unless-stopped
    network_mode: service:gluetun
  transmission:
    image: lscr.io/linuxserver/transmission:latest
    container_name: transmission
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - TRANSMISSION_WEB_HOME= #optional
      - USER= #optional
      - PASS= #optional
      - WHITELIST= #optional
      - PEERPORT= #optional
      - HOST_WHITELIST= #optional
    volumes:
      - /data/transmission:/config
      - /share/downloads/movies:/share/downloads/movies
      - /share/downloads/books:/share/downloads/books
      - /share/downloads/tv:/share/downloads/tv
    restart: unless-stopped
    network_mode: service:gluetun
  watchtower:
    container_name: watchtower
    image: containrrr/watchtower
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    network_mode: service:gluetun
[–] River_Tahm@lemmy.today 1 points 2 months ago

What’s not working for you?

For me after a decade using -arr the only thing I’ve had significant issues with has been trying to use the Tailscale integration on Unraid 7 to tunnel the dockers through an exit node which is… not at all the fault of -arr containers lol

[–] Atherel@lemmy.dbzer0.com 1 points 2 months ago (1 children)
[–] Comtief@lemm.ee 3 points 2 months ago

I'm not the OP, but it's a headache even with trash guides

[–] Alk@sh.itjust.works 0 points 2 months ago

I've had the opposite experience. It all "just worked". Try running unraid. It makes a lot of it so much easier.

[–] flightyhobler@lemm.ee 2 points 2 months ago (1 children)

Prowlarr's "guide" for docker implementation is scary

[–] smiletolerantly@awful.systems 1 points 2 months ago (1 children)
[–] flightyhobler@lemm.ee 1 points 2 months ago* (last edited 2 months ago) (1 children)

Nah, man. Check this out: https://prowlarr.com/#downloads-v3-other

Neither option makes me feel confident.

[–] smiletolerantly@awful.systems 1 points 2 months ago (2 children)

I am a bit confused tbh πŸ˜…

The link you send links to docker projects, the link I sent is the second one of those. Seems pretty straightforward?

But to be fair, I have never used docker for any of this. In my nix config, it's literally just:

    services.prowlarr.enable = true;
    services.prowlarr.openFirewall = true;

There's not really anything you need to configure host-side. Prowlarr needs to be able to communicate with sonarr and radarr (same as jackett), but otherwise it's basically stateless.

[–] flightyhobler@lemm.ee 2 points 2 months ago

You might be right. Last time I checked I was still a bit "green" with this. It's been two years and I think it makes more sense now πŸ˜‰

[–] flightyhobler@lemm.ee 1 points 2 months ago

The main issue is that for the prowler developers it seems like none of the docker options is ideal....

[–] itsnotits@lemmy.world -1 points 2 months ago

It's* been working

[–] couch1potato@lemmy.dbzer0.com 1 points 2 months ago

If i remember correctly, jackett allows you to add trackers that prowlarr doesn't have natively. Then you add jackett to prowlarr to distribute to the rest of your containers.

[–] umami_wasbi@lemmy.ml 19 points 2 months ago* (last edited 2 months ago) (1 children)

Looking at linuxserver/jackett on Docker Hub, it seems it indeed update everyday.

[–] flightyhobler@lemm.ee 3 points 2 months ago (2 children)

I'm not receiving daily updates from my gotify server, where watchtower reports the updates. But I guess it makes sense if it has some sort of automated build process. I've added the environment variable not to be updated by watchtower and I will keep an eye on it.

[–] MangoPenguin@lemmy.blahaj.zone 8 points 2 months ago (1 children)

You can also tell watchtower to cleanup images after update so you don't end up with all of those old ones.

[–] flightyhobler@lemm.ee 1 points 2 months ago

Interesting

[–] atzanteol@sh.itjust.works 7 points 2 months ago

If you're just pulling "latest" then docker will fetch the latest when it starts. You can pin to a version tag if you want to keep it stable.

[–] watson387@sopuli.xyz 16 points 2 months ago* (last edited 2 months ago) (1 children)
[–] flightyhobler@lemm.ee 0 points 2 months ago (1 children)

Goodbye stopped containers.

[–] Jolteon@lemmy.zip 2 points 2 months ago (1 children)

IIRC, a normal prune doesn't get rid of those, only the --all prune does that. The normal one only erases images that aren't associated with any container.

[–] watson387@sopuli.xyz 1 points 2 months ago* (last edited 2 months ago)

docker container prune for containers only also.

[–] LodeMike@lemmy.today 11 points 2 months ago* (last edited 2 months ago) (1 children)

Presumably because it updates daily

[–] flightyhobler@lemm.ee 4 points 2 months ago

I thought so but my watchtower says "no".

[–] BlackEco@lemmy.blackeco.com 3 points 2 months ago (1 children)

I believe Linux Server builds images every day for most of their containers, even though there has been no code changes.

[–] bjorney@lemmy.ca 20 points 2 months ago

If the code doesn't change, the resulting docker image will have the same hash, and a new image won't be created

https://github.com/jackett/jackett/releases

Jackett is literally just releasing a new version every day

[–] Xanza@lemm.ee 2 points 2 months ago

Do you have Kinsing? I just dealt with it this past week.

[–] Wooki@lemmy.world 2 points 2 months ago

Laughs in nix

[–] tekeous@usenet.lol 2 points 2 months ago

bro downloaded the mudroom closet and has a whole stack of jacketts