There is also Pingvin Share X, a fork of the original Pingvin Share. It allows you to create file share links, even with an expiration set, either by duration or count of link opened.
Got so used to it, it almost feels like a feature than a bug π
Well I assume this is thought to be used in conjunction with a Git repository (as its all just markdown files). So this would handle revision history for you.
Blorp. Don't know why, just felt right at home with the UI and design.
There's technically a Steam config for Obtainium listed on Obtainium Apps.
However, didn't work for me when I tried it just now. So I am still stuck with the one I installed on my profile which has play services enabled.
Not sure if it belongs here, but recently had some fun setting up my own WoW Wrath of the Lich King based server with bots on it. Played around with it a bit and it works surprisingly well. Some friends also wanted to join for some nostalgia π
Other than that dusted off HOTAS to get some time flying around in X4 to test the new patch they released which brought some big changes to the flight model.
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.
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).