Skip Navigation

Posts
3
Comments
54
Joined
3 yr. ago

  • Well besides the excellent options already mentioned by others, there is also Finamp, a Jellyfin music player.

    Others have also mentioned Symfonium which can play audio from a Jellyfin server as well, not only from a subsonic one like Navidrome.

  • Hmm theoretically, you could spin up a second Immich and mount the folders in there as external libraries with write permissions 🤔

    This is just an idea which came to mind reading your post. But I would assume that messes with the metadata stored in your primary Immich instance or rather its DB. So probably not the best idea in hindsight. Also even easier approach to achieve this would be using a simple imager viewer tool directly on the filesystem 😅

  • Sorry didn't find the time until now to reply. Also in the process of migrating everything to my Kubernetes cluster, so this is not as up to date in regards to image versions as it should be.

    This is my current setup, with only qBittorrent and SABnzbd going through the Gluetun VPN container. Everything else just uses my regular home internet:

     
        
    ---
    [Unit]
    Description=Flaresolverr Container
    
    [Container]
    ContainerName=flaresolverr
    HostName=flaresolverr
    EnvironmentFile=global.env
    Image=ghcr.io/flaresolverr/flaresolverr:v3.4.6
    AutoUpdate=registry
    PublishPort=8091:8191
    Network=arr-stack.network
    
    [Service]
    Restart=always
    
    [Install]
    WantedBy=default.target
    ---
    [Unit]
    Description=qBittorrent Container
    Wants=gluetun.service
    After=gluetun.service
    
    [Container]
    ContainerName=qbittorrent
    HostName=qbittorrent
    EnvironmentFile=global.env
    Environment=WEBUI_PORT=8080
    Image=lscr.io/linuxserver/qbittorrent:5.1.4
    AutoUpdate=registry
    UserNS=keep-id:uid=1000,gid=1000
    Network=container:gluetun
    
    Volume=%h/container_volumes/qbittorrent/conf:/config:Z,U
    Volume=%h/Downloads/completed:/downloads:z,U
    Volume=%h/Downloads/incomplete:/incomplete:z,U
    Volume=%h/Downloads/torrents:/torrents:z,U
    
    Memory=1.5g
    
    [Service]
    Restart=always
    
    [Install]
    WantedBy=default.target
    ---
    [Unit]
    Description=Recyclarr TRaSH Guide Sync Container
    Wants=radarr.service sonarr.service
    After=radarr.service sonarr.service
    
    [Container]
    ContainerName=recyclarr
    HostName=recyclarr
    EnvironmentFile=global.env
    Image=ghcr.io/recyclarr/recyclarr:8
    AutoUpdate=registry
    UserNS=keep-id:uid=1000,gid=1000
    Network=arr-stack.network
    
    Secret=sonarr_api_key,type=env,target=SONARR_API_KEY
    Secret=radarr_api_key,type=env,target=RADARR_API_KEY
    
    Volume=%h/container_volumes/recyclarr/conf:/config:Z,U
    
    [Service]
    Restart=always
    
    [Install]
    WantedBy=default.target
    ---
    [Unit]
    Description=SABnzbd Container
    Wants=gluetun.service
    After=gluetun.service
    
    [Container]
    ContainerName=sabnzbd
    HostName=sabnzbd
    Image=lscr.io/linuxserver/sabnzbd:4.5.5
    AutoUpdate=registry
    UserNS=keep-id:uid=1000,gid=1000
    Network=container:gluetun
    EnvironmentFile=global.env
    
    Volume=%h/container_volumes/sabnzbd/conf:/config:Z,U
    Volume=%h/Downloads/sabnzbd/completed:/downloads:z,U
    Volume=%h/Downloads/sabnzbd/incomplete:/incomplete-downloads:z,U
    
    Memory=1.5g
    
    [Service]
    Restart=always
    
    [Install]
    WantedBy=default.target
    ---
    [Unit]
    Description=Sonarr Container
    After=gluetun.service prowlarr.service
    Wants=gluetun.service prowlarr.service
    
    [Container]
    ContainerName=sonarr
    HostName=sonarr
    EnvironmentFile=global.env
    Image=lscr.io/linuxserver/sonarr:4.0.17
    AutoUpdate=registry
    UserNS=keep-id:uid=1000,gid=1000
    PublishPort=8089:8989
    Network=arr-stack.network
    
    HealthCmd=["curl","--fail","http://127.0.0.1:8989/sonarr/ping"]
    HealthInterval=30s
    HealthRetries=10
    
    SecurityLabelDisable=true
    Volume=%h/container_volumes/sonarr/conf:/config:Z,U
    Volume=/mnt/eldanas/tv:/tv
    Volume=%h/Downloads/completed/sonarr:/downloads:z,U
    Volume=%h/Downloads/sabnzbd/completed/tv:/downloads-usenet:z,U
    
    [Service]
    Restart=always
    
    [Install]
    WantedBy=default.target
    ---
    [Unit]
    Description=Prowlarr Container
    Wants=gluetun.service flaresolverr.service
    After=gluetun.service flaresolverr.service
    
    [Container]
    ContainerName=prowlarr
    HostName=prowlarr
    EnvironmentFile=global.env
    Image=lscr.io/linuxserver/prowlarr:2.3.5
    AutoUpdate=registry
    UserNS=keep-id:uid=1000,gid=1000
    PublishPort=8096:9696
    Network=arr-stack.network
    
    HealthCmd=["curl","--fail","http://127.0.0.1:9696/prowlarr/ping"]
    HealthInterval=30s
    HealthRetries=10
    
    Volume=%h/container_volumes/prowlarr/conf:/config:Z,U
    
    [Service]
    Restart=always
    
    [Install]
    WantedBy=default.target
    ---
    [Unit]
    Description=Radarr Container
    After=gluetun.service prowlarr.service
    Wants=gluetun.service prowlarr.service
    
    [Container]
    ContainerName=radarr
    HostName=radarr
    EnvironmentFile=global.env
    Image=lscr.io/linuxserver/radarr:6.1.1
    AutoUpdate=registry
    UserNS=keep-id:uid=1000,gid=1000
    PublishPort=8078:7878
    Network=arr-stack.network
    
    HealthCmd=["curl","--fail","http://127.0.0.1:7878/radarr/ping"]
    HealthInterval=30s
    HealthRetries=10
    
    SecurityLabelDisable=true
    Volume=%h/container_volumes/radarr/conf:/config:Z,U
    Volume=/mnt/eldanas/movies:/movies
    Volume=%h/Downloads/completed/radarr:/downloads:z,U
    Volume=%h/Downloads/sabnzbd/completed/movies:/downloads-usenet:z,U
    
    [Service]
    Restart=always
    
    [Install]
    WantedBy=default.target
    ---
    [Unit]
    Description=Gluetun Container
    
    [Container]
    ContainerName=gluetun
    HostName=gluetun
    EnvironmentFile=global.env
    EnvironmentFile=gluetun.env
    Environment=FIREWALL_INPUT_PORTS=8080
    Image=docker.io/qmcgaw/gluetun:v3.41.1
    AutoUpdate=registry
    PodmanArgs=--privileged
    AddCapability=NET_ADMIN
    AddDevice=/dev/net/tun:/dev/net/tun
    PublishPort=8080:8080
    # SABnzbd Port Mapping
    PublishPort=8085:8085
    # Gluetun Port Mapping
    PublishPort=8123:8000
    Network=arr-stack.network
    
    Volume=%h/container_volumes/gluetun/conf:/gluetun:Z,U
    
    Secret=proton_wireguard_private_key,type=env,target=WIREGUARD_PRIVATE_KEY
    
    [Service]
    Restart=always
    
    [Install]
    WantedBy=default.target
    ---
    [Unit]
    Description=Seerr Container
    After=gluetun.service
    Wants=gluetun.service
    
    [Container]
    ContainerName=seerr
    HostName=seerr
    EnvironmentFile=global.env
    Image=ghcr.io/seerr-team/seerr:v3.2.0
    UserNS=keep-id:uid=1000,gid=1000
    AutoUpdate=registry
    PublishPort=8055:5055
    Network=arr-stack.network
    
    Volume=%h/container_volumes/seerr/conf:/app/config:Z,U
    
    [Service]
    Restart=always
    
    [Install]
    WantedBy=default.target
    
      

    The global.env file only contains env variables like TZ or the PUID and PGID which are used in almost all my containers.

  • You can configure CoreDNS for what you are trying to do, there is usually a ConfigMap containing the CoreDNS config in the kube-system namespace. We did that as a quick hack on one of our clusters at work, but I wouldn't recommend it tbh. Instead I would do what others already suggested and deploy a Pi-Hole or AdGuard Home, or even a second CoreDNS for this purpose.

  • Did you check the gluetun logs? Maybe set them to debug level, they might reveal something

  • I liked my Pi 3B+ for tinkering around and run some services like vaultwarden or a VPN node with PiVPN (first OpenVPN, later Wireguard). They are great for stuff like that and don't use much power. Not sure it makes sense to add them as nodes though as 2GB is stretching it, although Talos OS has a minimal requirement for worker nodes of 1GB, so I might still try 😄

    As you can see I plan to use Talos as well, it sounds really promising what I read about it. For a CNI I plan to use Cilium and for distributed storage I might try Longhorn and see how it works. Apart from that I am still on the fence if I should run my nodes bare model or put a virt layer in between with Proxmox.

  • Not planning to run nodes as LXC at all. Just using them in my current setup for running services like Wireguard or Jellyfin.

    At most I would create VMs for nodes, but still on the fence if I should just go bare metal or proxmox with virtualized nodes (VM).

  • Like the original Zimaboard? How do you like it? Reading online in forums or reddit, the feedback is really mixed.

    I was looking at the Zimaboard 2, but the board alone is like 300€+ and then buying DDR5 with current prices...

  • I assume you are using pi 4 and/or 5? I would have some 3b+ laying around which don't see any use nowadays. But can't quite imagine to build a cluster only made up of these, I think they are too underpowered, unless being used as like a small additional worker node.

    And buying new Pi 5 with 16GB of memory would set me back at least 200€ a unit, not including power supply or any case.

  • Oh wow okay, if I'd go down that route I would definitely do multiple VMs on that host. In my opinion, the whole clustering and self healing / HA aspect of Kubernetes is why I want to switch to it. I can do gitops with Podman/Docker as well, in fact I already do that including a renovate pipeline on my sel-hosted Forgejo instance. But having the redundancy of several nodes, if one goes down the service will still work or at least will be re-deployed within a couple of seconds, provided there is distributed storage (longhorn, ceph or even nfs cis) if its a stateful app.

  • Thanks for the link! I think I saw this project mentioned in some other post as well, but honestly didn't look further into it then.

    Oh wow 30 bucks a unit for 16 GB, that's just insanely lucky to find a deal like that.

    Looking around in my region, there is from time to time the odd deal where you could get for example a HP EliteDesk 800 G4 Mini with 16 gigs for like below 200€ if you're lucky and with the right timing. But usually they will net you 260€ upwards.

  • Fair point. If I don't want to just run a single node cluster, I will need at least 2-3 nodes aka VMs. Looking at like 2-4GB (as a bare minimum imho) memory for each, I would already eat into like half of my current 16GB of available memory. And this mini server is already running a lot of my critical apps, using more than half of the memory.

  • Selfhosted @lemmy.world

    Looking to build a K8s cluster, what are your strategies for finding affordable hardware?

  • Well there is wg-easy which comes with a very decent GUI imho

  • I run most of my services in containers with Podman Quadlets. One of them is Forgejo on which I have repos for all my quadlet (systemd) files and use renovate to update the image tags. Renovate creates PRs and can also show you release notes for the image it wants you to update to.

    I currently check the PRs manually as well as pulling the latest git commits on my server. But this could also be further automated to one's liking.

  • I don't know about Home Assistant, but I am using Glance. I love the aesthetic and that you can configure it with descriptive yaml files.

    But I think this is also a question you need to ask yourself: Do you want to "click together" a dashboard aka one with a nice GUI where you can configute everything (e.g. Homarr). Or rather one with config files like Glance and a bit simpler in its feature set.

  • Nice, had my XMPP server now running for a couple of weeks, not many users on it so far though. But my highlight of the week was managing to get the slidge whatsapp bridge with Prosody running, so I at least don't have to use the official app anymore for all those people who resist to get off of it.

  • Haha nice, already searched that one on F-Droid after not finding the Dawarich Android app on there. Looking forward to it!

  • Thanks for taking the time to reply.

    In the meantime I tried the app and it looks awesome! However, I noticed the app relies on google's services location accuracy unfortunately. This is kind of a deal breaker for me to use the app for now. But I get that imlementing an F-Droid version is not your top priority, so I'll follow the project and patiently wait for it :)

  • Are there any plans to make the android app available on F-Droid as well? Or releasing the apk in the GitHub repo so we can install it with Obtainium?

    Sorry if this has already been mentioned somewhere, couldn't find it in your post or on the website.

  • Yeah you could consider it old school, or maybe just a product of another time were people didn't mind to use multiple software for different uses.

    I for one don't mind using Mumble for voice and XMPP for text chat or one to one calls for example.

    I don't have a computer or smartphone so I only can install one app and that's it. And I know I might be in the minority when it comes to that, at least compared to the general public. For gods sake it's already hard to get people to install a second messenger app, not even trying to get them off WhatsApp or other meta crap...

  • Selfhosted @lemmy.world

    Messaging apps - XMPP vs Matrix vs ???

  • Selfhosted @lemmy.world

    Self hosting hardware - what are your experiences with Lenovo ThinkCentre as homelab server?