• 0 Posts
  • 19 Comments
Joined 1 year ago
cake
Cake day: June 2nd, 2025

help-circle
  • Trying to be as helpful as I can, I think you might consider streaming (Plex/Jellyfin) and downloading (*arrs) as two seperate concerns.

    Arrs:

    For now don’t worry about anything other than sonarr (tv shows) or radarr (movies). you can add the more complexity once you get it working.

    These *arrs do two main things:

    • Connect to a “transport” to get new media or update existing media. This is a torrent client or a nzb/usenet client.
    • Manage your media files (such as storage strategies).

    I would create a minimum viable config like this:

    [sonarr] ----> [transmission or whatever torrent/nzb client]

    at that point you should be able to download tv shows and you can building on it. Next steps might be nzbget, radarr or seerr (which is a very nice way to surface this functionality to your users), or connect things like prowlarr.

    The other thing I would say is use something like Docker for this. Easy to make changes that way and provision new services. Here’s my arrs stack’s docker-compose.yml (which is by far not best practice, but it might help you)

    services:
    
      ##############################
      # Transport
      ##############################
      sabnzbd:
        image: 'linuxserver/sabnzbd:latest'
        container_name: sabnzbd
    
        extends:
          file: ../_templates/template.yaml
          service: large
    
        networks:
          - arrs-edge
    
        volumes:
          - './sabnzbd:/config'
          - '/media/web/downloads:/downloads'
          - '/media/web/incomplete-downloads:/incomplete-downloads'
          - '/media/web/watched:/watched'
    
      transmission-openvpn:
        image: haugene/transmission-openvpn
        container_name: transmission
    
        extends:
          file: ../_templates/template.yaml
          service: large
    
        networks:
          - arrs-edge
    
        devices:
          - /dev/net/tun
    
        cap_add:
          - NET_ADMIN
    
        ports:
          - 9091:9091
    
        volumes:
          - /media/web/torrent-data:/data
          - /media/web/books-import/torrents:/data/watch
          - ./transmission/config:/config
    
    
    
      ##############################
      # Arrs
      ##############################
      radarr:
        image: lscr.io/linuxserver/radarr:latest
        container_name: radarr
    
        extends:
          file: ../_templates/template.yaml
          service: nolimit
    
        # environment:
        #   - UMASK=022
    
        volumes:
          - './radarr:/config'
          - '/media/movies:/movies'
          - '/media/web/downloads:/downloads'
          - '/media/web/torrent-data:/torrent-data'
    
        networks:
          - arrs-edge
    
      sonarr:
        image: ghcr.io/linuxserver/sonarr:develop
        container_name: sonarr
    
        extends:
          file: ../_templates/template.yaml
          service: nolimit
    
        volumes:
          - './sonarr:/config'
          - '/media/tv-shows-1:/tv-shows'
          - '/media/web/downloads:/downloads'
          - '/media/web/torrent-data:/torrent-data'
          - '/media/web/torrent-data/completed/sonarr:/data/completed/sonarr'
          - '/media/tv-shows-3:/tv-shows-2'
    
        networks:
          - arrs-edge
    
      prowlarr:
        image: lscr.io/linuxserver/prowlarr:latest
        container_name: prowlarr
    
        extends:
          file: ../_templates/template.yaml
          service: medium
    
        volumes:
          - ./prowlarr:/config
    
        networks:
          - arrs-edge
    
      seerr:
        image: ghcr.io/seerr-team/seerr:latest
        init: true
        container_name: seerr
    
        extends:
          file: ../_templates/template.yaml
          service: medium
    
        volumes:
          - ./seerr:/app/config
    
        networks:
          - arrs-edge
          - pangolin-arrs-edge
    
        healthcheck:
          test: wget --no-verbose --tries=1 --spider http://localhost:5055/api/v1/status || exit 1
          start_period: 20s
          timeout: 3s
          interval: 15s
          retries: 3
    
        restart: unless-stopped
    
    networks:
      arrs-edge:
        external: true
      pangolin-arrs-edge:
        external: true
    

    Plex vs Jellyfin

    Everyone one loves to talk about how they use jellyfin, but I suspect many more people quietly run Plex. You should probably try both, but some things to be aware:

    Jellyfin:

    Pros:

    • Very configurable and extensible with a massive plugin library
    • Free
    • No bloat
    • Excellent codec support

    Cons:

    • No streaming tunnel. If you use cloudflare tunnel, you aren’t allowed to stream media. If you use pangolin, you can create something on Oracle’s free teir that should be good enough. but you need to configure and set that up. Plex just works out of the box
    • Significant security issues. I really don’t wont to start a flame war, but there are issues that I find concerning such as streams being no-auth etc. In their defence, they’re working through the issues. You could probably manage this with some good reverse proxy configs.
    • UI can be a bit slow on older hardware. Plex isn’t great either, but in my experience, Jellyfin is worse.

    Plex

    Pros:

    • Has an included tunnel service for remote access which requires very little configuration
    • Everything just works
    • UI is pretty responsive. Better than AWS Prime apps on my tv, worse than netflix/youtube.

    Cons:

    • Not free. However, they frequently have significant sales on their lifetime membership.
    • Spammy home view. You can disable this on each client, but its just an extra level of confusion for non techies connecting to your system.
    • Very little extensibility. They use to support plugins but those days are pretty much gone.
    • It chokes on some HDR codecs on my 5 year old tv I find, where as jellyfin doesn’t

    Personally, I think Plex is best if you want to access this stuff remotely and you haven’t yet configured a reverse tunnel that can stream media. If you have a pangolin, or you’re comfortable opening a port on your home router, or you have no need to stream remotely, then Jellyfin might be worth looking at if for no other reason than its ecosystem of plugins. I have both available remotely, but I use Plex more than I use Jellyfin.


  • My servers are one NUC clone and a 4*16tb NAS. I have a lot of docker containers running constantly and yet cooling has never really been an issue for me. A larger concern is I would rather not see it, so It’s hidden it under furniture. The fans on the NAS have attracted a layer of dust, and one day I might clean it. Kidding. I wont.

    My security team involves a bull dog named Sophie, who has never done more than lick any other being, but I’m banking on burglars not knowing this.




  • johnwicksdog@aussie.zonetoTechnology@lemmy.worldPlex got hacked.
    link
    fedilink
    English
    arrow-up
    71
    arrow-down
    2
    ·
    8 months ago

    I think that’s a pretty good response. More details will probably emerge in the next few days that could change my mind, but for now that gives me a bit of confidence in their platform.

    In comparison, a few years ago I was a patient at an IVF clinic in Sydney. I saw some absolutely bonkers security and repeatedly raised it with them. They wouldn’t hear it, and almost expectedly they were hacked and now my sperm count is public information. Their response was delayed and appalling. If my medical records were treated a severely as a streaming platform, I would have been happy.



  • I’m a dev and I think my experience is mostly similar to yours. Where AI seems to work well, is when the boundaries of the problem are very well defined. For example : “Take this C++ implementation of the LCS algorithm and convert it to JS”. That would have taken me a few hours at least, but AI appears to have nailed it. However, anything where a large amount of context is needed and it starts to fail fast, and suggest absolutely insane things. I have turned of copilot on my IDE because it slows me down, but I will still ask questions to chatgpt when I have a specific problem I think it can help me with. I also will ask pointed questions when I review other dev’s code, and my expectation is the author can explain why they wrote it.



  • I tried Kagi because I was excited by the hype and would gladly pay a fee for superior search thats not google. But, my experience wasn’t great:

    1. Couldn’t reliably give me local results. E.g., searching for “pizza near me” would render results from a combination of my local city, Sydney and those in Singapore.
    2. UI needs some basic improvements. Rules of font spacing for starters.
    3. It was slow. like at least 500 ms for me to get a page of results, even though I was pretty sure it was using my closest AWS region.

    I hope this doesn’t come off as too negative–I don’t want to be disparaging. Contrarily, I would love to hear your thoughts as a supporter of the platform. It could be that I was using it wrong, or theres some mitigating features that I missed. As I said, I would gladly pay to not be the product.



  • I agree. About 10 years ago I had a some unstable dependencies hit in the middle of a major crunch/product release at work. When it was vital I was productive, I was instead trouble shooting my laptop. I moved to mac the next day and was surprised how far the OS had come, and that I could run zsh, nvim etc. Not to mention since apple silicon its rare I need to take a charger with me anywhere.

    I still have a linux thinkpad for personal use, and all my personal servers are linux. My heart is linux, but a lot will have to change to take me away from a macbook.



  • I think I might have seen a build or two even back then. However, what I need from a mobile app isn’t to provide all of emacs, but rather just satisfy a few key use cases. Providing everything comes at the cost of usability, which is a key requirement for a mobile app. Really I just need to capture notes and tasks and see task lists, but trying to use the mobile emacs in the middle of a conversation, commuting, or grabbing coffee isn’t ideal.

    There were a couple of 3rd party apps that were designed for orgmode, but after I trialled, but they all fell short for me.

    Even if it had the best mobile app now however, I wouldn’t go back to emacs. Each to their own, but I’ve become way more aligned with the unix philosophy of “do one thing, and do it well”, where as I see emacs more as “lets do as much as we can in one app”. IMO Ofc.


  • I went the ohterway with Emacs -> Logseq -> Obsidian, but with several things in between. Emacs isn’t for me, I did give it a red hot go and coded off it for a good year or two about 10-15 years ago.

    HOWEVER, I have to agree. Emac’s Orgmode is first class and I’ve never been as satisfied with a task app since. However, at the time I was using it, mobile support was pretty much nonexistent, and I was missing vim too much, so I eventually abandoned it.

    Now i just use a selfhosted instance of memos, which is sparse on its feature set, but works well for me.


  • IMO, you want ram more than you want processing power. 16 gig ought to be enough. Most of the time your containers will sit dormant and just consume memory. However since you want to run Jellyfin, get a recent CPU which can do hardware decoding of popular codecs. There’s charts online that show what generation can handle what codecs. Ideally you don’t want that done by software. You should still be able to find something cheap.

    In terms of placement. It depends a lot on noise IMO. If you’re running something small without magnetic storage, you’re probably fine to stick it anywhere. If you have several data-centre grade hard drives, you will probably want to keep it somewhere where you wont hear it all day.

    In terms of upgrading, I’m not sure if its as much of a concern as you might think. I run probably about 30 docker containers off a NUC clone and a seperate NAS, and that has worked pretty well for the last few years. I can always add more drives to the NAS, but otherwise its fine. Also, many of my services scale to zero with sablier+traefik, and I schedule filesharing for low bandwidth times. This makes things pretty manageable.



  • I was also forced to use it at uni (a few decades ago), but didn’t start using it until professionally until several years into my dev career. I promise that I don’t think I’m superior because I use it. But I do encourage junior developers to learn it for reasons that appealed to me.

    Among other things, appealing things are modal editing (the biggest advantage IMO), it runs on pretty much on any server you will be ssh’ing into, less IDE lock in. And, there’s a bunch of additional things that other editors do that I think Vim does better: regex is first class in the environment, extensible workflows, macros. Then there are definite advantages being able to quickly navigate from the home row.

    I agree that some people will demonstrate their enthusiasm by bragging and being pretentious. But I don’t think that’s why they stick with Vim.