this post was submitted on 01 Oct 2024
92 points (93.4% liked)

Selfhosted

40220 readers
1155 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 1 year ago
MODERATORS
 

cross-posted from: https://lemmy.ca/post/30126699

I created this guide on how to install Jellyfin as a Podman Quadlet on your server. Enjoy.

all 31 comments
sorted by: hot top controversial new old
[–] [email protected] 15 points 1 month ago (3 children)

Hey what is the advantage of quadlets over normal podman-compose?

[–] [email protected] 2 points 1 month ago

I've wondered myself and asked here https://lemmy.world/post/20435712 – got some very reasonable answers

[–] [email protected] 9 points 1 month ago (1 children)

this guide, and the previous one, have a lot of weird superfluous steps. like, why use a command that includes nvim and then ask people to change it instead of just saying "edit the file"? why symlink systemd stuff to your own home directory?

the info is good, but having to separate the actually useful stuff from things that are specific to your config makes it less useful.

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

I'm still learning how to write good posts. I'll this into consideration for the next one.

[–] [email protected] 4 points 1 month ago (2 children)

your writing overall is good! it's just a matter of information priority.

here's a tip, dunno how applicable it is but i use it when writing technical documentation:

for each step, explain to yourself why you're doing it the way you are. if it turns out you caused the step to be needed, rather than it being required, you probably need to rethink, or at least add the explanation to the text.

[–] [email protected] 3 points 1 month ago

That's a good tip. Thanks. I think I might tweak the existing posts for readability.

[–] [email protected] 1 points 1 month ago (1 children)

I rewrote my original quadlet article, can you have a look and let me know what you think? https://ericthomas.ca/posts/setting-up-podman-quadlets/

[–] [email protected] 1 points 1 month ago (1 children)

this is more focused for sure, but it lacks the enthusiasm of the original. if i was trying to do this for work, i would appreciate how quickly it gets to the point. however, it no longer reads like this is something you're interested in. it reads a bit wooden. i get that would happen after you've been told to correct your style though.

to be clear, the original article doesn't need to be rewritten. for the future though, when you want to tell the story of how you got something working, include your reasons for doing something a certain way. if you need a self-inflicted complication, that's not really a part of it (unless it's funny)

[–] [email protected] 1 points 1 month ago (1 children)

I'm picking up what you're throwing down. I'm writing one on qBittorrent and will take that into considering. Thanks for helping me.

[–] [email protected] 1 points 1 month ago

i'm glad you found it useful, best of luck :)

[–] [email protected] 7 points 1 month ago (1 children)

I have not seen quadlets before, that's really neat.

[–] [email protected] 3 points 1 month ago
[–] [email protected] 6 points 1 month ago* (last edited 1 month ago) (2 children)

Why would someone want containers managed by systemd instead of just having them run like normal? What is the advantage?

Also if you use cockpit or some equivalent GUI to manage your containers, do you have to give it permission to control all systemd services?

[–] [email protected] 15 points 1 month ago (1 children)

I've been managing my containers using the older mechanism (systemd-generate) since I started and it's great. You get the reliable service start of systemd and its management interface. Monitoring is consistent with all your other services and you have your logs in exactly one location.

I really wouldn't want a separate interface or service manager just because I'm running containers.

[–] [email protected] 1 points 1 month ago (1 children)

Do you run other things on your system other than containers? I have a VM that only runs containers so it really doesn't do anything else with systemd apart from the basics so I'm curious if there would be any advantage to me switching.

[–] [email protected] 3 points 1 month ago (1 children)

Most VMs only run containers, but I have supporting services on every host as well. Stuff like the mesh VPN, monitoring agent or firewall.
If I want a quick overview, a quick systemctl status will tell me everything I need to know.

[–] [email protected] 1 points 1 month ago (1 children)

What do you have set up for mesh VPN?

[–] [email protected] 1 points 1 month ago (1 children)

I use Yggdrasil now with a whitelist of public keys. Though I'm thinking about redoing my architecture in general to make key distribution easier, have more automated DNS entries and also use the tunnel for any node to node communication.

Before that I tried Tailscale with Headscale, but I didn't want to have a single node responsible for the network and discovery.

[–] [email protected] 1 points 1 month ago (1 children)

That's very interesting. Once you connect something to your mesh you can access the rest of the mesh by IP? What is the gateway in that case?

[–] [email protected] 2 points 1 month ago (1 children)

Apologies for the late response

I can access every node by IP (IPv6 to be precise).
Discovery within a local network happens through regular broadcasts. For connecting different networks, you need to set peering addresses that are reachable and configure the other side to listen.
You only need one node per network though, the others will automatically discover the path and connect on the best route to their target. If your node in the middle falls over, any other node that's reachable can be used instead. The Yggdrasil Blog posts have some explainations of the algorithms used.

There's no explicit gateway, but you can use standard routing and firewall tools to do whatever you want. I only use it for accessing internal stuff, not as a full VPN for my client devices, but you could probably make that work by setting one node as router and configure its Yggdrasil ip as you gateway (excluding the traffic you need to connect to the VPN).

One downside is that everything's still in progress and most versions change significant parts of the routing scheme, meaning it doesn't work with the previous version. It is primarily a research tool for internet scale mesh networks, but releases are also infrequent enough where you shouldn't worry too much.

[–] [email protected] 1 points 1 month ago

Thank you! It sounds like a really interesting tool. I'd like to have a VPC sort of setup for my devices that I can connect to externally. I don't think I need the mesh aspect of it, I'd likely just have one VPN act as a hub. But I'll definitely look into this more. If it does routing for IPs a bit more conveniently that'd be worth it to me.

[–] [email protected] 5 points 1 month ago (2 children)

Why would you not want containers managed by systemd?
You get the benefits of containerisation and you don't have to learn the arcane syntax of some container engine or another.

[–] [email protected] 1 points 1 month ago

Dunno what's arcane about setting your network up once, crrate the compose (jn my case regular docker) and write sudo docker compose up -d.
Literally using Linux in any way shape or form is more arcane than this.
Just recently learning about NFS sharing. Sure, let's write the config in /etc/export and also edit the fstab config on the guest to auto-mount it. Don't forget the whole syntax ;)

Not the mention the 100 different ways of setting up a static IP in each distro which differs slightly in any package/distro

[–] [email protected] -1 points 1 month ago

because lennart poettering is an asshole.

[–] [email protected] 2 points 1 month ago (1 children)

Cool :)

Thanks for sharing!

[–] [email protected] 5 points 1 month ago

You're welcome, stay tuned for more posts about Quadlets.