this post was submitted on 26 Nov 2023
145 points (95.6% liked)

Piracy: ꜱᴀɪʟ ᴛʜᴇ ʜɪɢʜ ꜱᴇᴀꜱ

54539 readers
153 users here now

⚓ Dedicated to the discussion of digital piracy, including ethical problems and legal advancements.

Rules • Full Version

1. Posts must be related to the discussion of digital piracy

2. Don't request invites, trade, sell, or self-promote

3. Don't request or link to specific pirated titles, including DMs

4. Don't submit low-quality posts, be entitled, or harass others



Loot, Pillage, & Plunder

📜 c/Piracy Wiki (Community Edition):


💰 Please help cover server costs.

Ko-Fi Liberapay
Ko-fi Liberapay

founded 1 year ago
MODERATORS
145
Arrs Feedback (lemmus.org)
submitted 11 months ago* (last edited 11 months ago) by [email protected] to c/[email protected]
 

Context

Having started out in the world of Napster & Limewire, I've always relied on public sources. It wasn't until in the early '10s that I lucked into a Gazelle-based tracker that was started by some fellow community members. Unfortunately, I wasn't paying enough attention when they closed shop and didn't know how to move elsewhere. Combined with some life circumstances I gave up the pursuit for the time being.

It wasn't until recently that a friend was kind enough to help me get back and introduced me to current state of automation. Over the course of a few months, I've since built up the attached systems. I've been having an absolute blast learning and am very impressed with all of the contributions!

After all of the updates due to BF deals, I put together the attached diagram as it was starting to get too complex to keep all of the interactions in my head. 😅

Setup

  • All of the services run in Docker containers.
  • Each container is a separate Compose file managed by Systemd.
  • The system itself is in a VM running on my home server (both Arch, btw).
  • Tailscale is used for remote access to the local network.
  • ProtonVPN is managed by Gluetun and uses a separate network for isolating services.

Questions

  • What am I missing or can be improved?
  • Is there a better way to document?
  • What do you do differently that might be beneficial?

Thoughts

  • I had Calibre set up at one point, but I really don't like how it tracks files by renaming them. I have been considering trying to automate with the CLI instead, but haven't gotten around to it yet.
  • I've been toying with the idea of creating a file-arr for analyzing disk usage, performing common operations, and exposing a web-based upload/download client so I don't have to mount the volume everywhere.
  • Similarly, I'm interested in a way to aggregate logs/notifications/metrics. I'm aware of Notifiarr, but would prefer a self-hosted version.
  • I just set up Last FM scrobbling so I don't have any data yet. I'm hoping to use that for discovery and if possible, playlist syncing or auto-generation.

Notes

  • Diagram was made using D2lang.
  • Some of the connections have been simplified to improve readability / routing.
  • Some services have been redacted out of an abundance of caution.
  • I know VPN with Usenet isn't necessary, but it's easier to keep it consistent.

Also, thanks for the recommendations to check out deemix/Deezer. That worked really well! 😀

Edit: HQ version of diagram

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] -1 points 11 months ago (1 children)

You’re running docker inside a vm? Why?

The first thing I would do is learn the 5-layer OSI model for networking. (The 7-layer is more common, but wrong). Start thinking of things in terms of services and layers. Make a diagram for each layer (or just the important layers. Layers 3 and up.)

If you can stomach it, learn network namespaces. It lets you partition services between network stacks without container overhead.

Using a vm or docker for isolation is perfectly fine, but don’t use both. Either throw docker on your host or put them all in as systemd services on a vm.

[–] [email protected] 4 points 11 months ago (1 children)

The server itself is running nothing but the hypervisor. I have a few VMs running on it that makes it easy provision isolated environments. Additionally, it's made it easy to snapshot a VM before performing maintenance in case I need to roll back. The containers provide isolation from the environment itself in the event of a service gone awry.

Coming from cloud environments where everything is a VM, I'm not sure what issues you're referring to. The performance penalty is almost non-existent while the benefits are plenty.

[–] [email protected] 3 points 11 months ago

I recently rebuilt my home server using containers instead of (qemu/KVM) VMs and I notice a performance benefit in some areas. Although I just use systemd-nspawn containers rather than docker as I don't really see the need to install 3rd party software for a feature already installed on my OS.

I handle snapshots by using btrfs. Works great