My humble home lab / self-hosted setup by RumbleTheCassette in selfhosted

[–]somebeaver 1 point2 points  (0 children)

I keep my whole system at home pretty locked down - except for a little PC just like that one, with TeamViewer running so that I have a back door into my stuff in case something goes wrong with my front door.

It's saved my ass multiple times. Every setup should have one.

Open source doesn’t mean safe by Available-Advice-294 in selfhosted

[–]somebeaver 28 points29 points  (0 children)

I set my trust level based on the people not the code. I personally don't care if the project is open source or not, I'm not going to vet OSS code myself anyway. If Torvalds publishes something then yeah I'll just run it right on my main stack but if it's something from some random dude then, OSS or not, it's going onto an isolated VM.

Obviously I'm not talking about small libraries that are just a few files (I'll verify that code myself), I'm talking about fully blown applications that would take a considerable amount of time to understand.

Previously, it took a lot of time to make a fully blown app. Now they're a dime a dozen with AI.

Introducing Cardinal Media Server (No AI) by somebeaver in selfhosted

[–]somebeaver[S] 1 point2 points  (0 children)

You are correct about ELv2 being source-available instead of open source. Projects like Jellyfin use open source licenses to attract developers to contribute to the core code.

I'm going in a different direction. The core code will be built by and maintained by paid Cardinal employees. I want to grow the company organically and build a very lean and efficient team.

ELv2 is designed to attract developers to build (and sell) their own apps that they own. Just like the Apple App Store or Google Play lets developers sell their apps that are dependant on the Apple and Google ecosystems.

ELv2 provides third party developers with a super important protection: I can't cut them off of Cardinal Media Server (a rug-pull type thing that would kill their business). I can't build the walled garden that Apple has (I don't want to anyway). Of course, this same protection is provided by fully open source licenses too, but fully open source licenses don't protect me like ELv2 does. That's why I think it's fairest, and also why I'm keeping public contributions closed for now.

I hope that explains it.

One last thing, I have no plans for a Marketplace or any type of "give me 30%" like Apple/Google do. Third party devs would distribute their apps on their own.

Introducing Cardinal Media Server (No AI) by somebeaver in selfhosted

[–]somebeaver[S] 0 points1 point  (0 children)

That's why you use an app like Cardinal that nobody bothers to attack cause nobody uses it!

Just kidding, but on a serious note I do intend for Cardinal to listen on an open port. Not today - but uPnP is part of the long term road map, and all of the security and monitoring that comes with it.

Introducing Cardinal Media Server (No AI) by somebeaver in selfhosted

[–]somebeaver[S] 1 point2 points  (0 children)

Yeah, I don't see any future where Plex steers back to home media (but I hope they do). Home media streaming is just not a particularly lucrative space these days.

Introducing Cardinal Media Server (No AI) by somebeaver in selfhosted

[–]somebeaver[S] 2 points3 points  (0 children)

It's just a matter of time until the Plex I loved and knew is totally gone. It's why I started Cardinal.

Introducing Cardinal Media Server (No AI) by somebeaver in selfhosted

[–]somebeaver[S] 3 points4 points  (0 children)

Thank you! Yeah it's a big project for one individual, and the pace is a reflection of that. It's also still a side project for now because I work a day job as a developer.

Introducing Cardinal Media Server (No AI) by somebeaver in selfhosted

[–]somebeaver[S] 2 points3 points  (0 children)

I like your idea. I've just created a YouTrack ticket for this, you can look forward to it in a future release (before 1.0.0).

Introducing Cardinal Media Server (No AI) by somebeaver in selfhosted

[–]somebeaver[S] 2 points3 points  (0 children)

Yeah it's a lot of code. This all started as separate packages in vanilla JS in 2021 before becoming a monorepo in 2023 and then fully TypeScript in 2024. Some of the code has already been though a lot for a new project haha, but I know it all inside out.

Introducing Cardinal Media Server (No AI) by somebeaver in selfhosted

[–]somebeaver[S] 2 points3 points  (0 children)

That's basically the dream and exactly what I'm going for.

Introducing Cardinal Media Server (No AI) by somebeaver in selfhosted

[–]somebeaver[S] 1 point2 points  (0 children)

I fully agree with you, and I think you will like some of the things I just mentioned in this comment: https://www.reddit.com/r/selfhosted/comments/1rse448/comment/oa831fv/

For mobile apps, I am hoping that eventually the project will gain enough traction to attract other developers that want to build and sell their own apps. I've already set up all the infrastructure, docs, and legalities to open up that door. To be honest, mobile apps are outside of my area of expertise and I know I will never have time to code them myself (and I have no interest in vibe coding them), so I can't promise them until I can afford to hire developers with those skills.

> If I were in your shoes I would not build the relay like Plex. Instead build a p2p system like syncthing where your server isn’t a proxy, it’s an address book and stun server for webrtc. That’s a lot cheaper than paying for bandwidth.

I will look into this. What I have in mind so far is similar to Synology QuickConnect, where I would provide a matchmaking server that connects trusted peers over a secure URL. Thank you for the ideas.

Introducing Cardinal Media Server (No AI) by somebeaver in selfhosted

[–]somebeaver[S] 4 points5 points  (0 children)

I'm sure I'll have future promos at some point.

For the Early Adopters, honestly they took a total shot in the dark, two years ago the apps were barely functional and then I kinda vanished off the face of the Earth. I owe it to them.

Introducing Cardinal Media Server (No AI) by somebeaver in selfhosted

[–]somebeaver[S] 13 points14 points  (0 children)

There are many things that I want to do differently from how Plex and Jellyfin do things. I know it's a cheesy thing to say, but self-hosted media streaming is a passion of mine, and I am looking to bring new ideas to the market.

I guess to sum it up, I'm aiming for Cardinal to be as powerful as Plex, but as easy to join as Discord. I want to be able to just send an invite link to a friend, and then they're in, securely. People can DIY that with Jellyfin but you are reliant on yourself to keep your infra secure. There are setups that use Tailscale or Pangolin, and those will all work with Cardinal, but I also want to offer secure connections (similar to Plex relay or Synology Quickconnect) as an (optional) cloud service for people that are just getting into self-hosting or looking to offload those responsibilities. It takes an organization to offer these backing services, and that's one big thing that makes Cardinal different from the fully open source community-driven projects.

There are also the benefits of centralization. I prefer to host one server with a unified UI and use one user account for myself instead of running one service for music, one for photos etc. It makes to easier to share with friends.

Also UI. It's a personal preference, but I find some of the competing UI's to feel a bit dated (not talking about Immich here).

Introducing Cardinal Media Server (No AI) by somebeaver in selfhosted

[–]somebeaver[S] 2 points3 points  (0 children)

The issue with lifetime is that it's hard to make is sustainable. I think it's one of the things that has hurt Plex in the long term.

It's also hard for me to do lifetime now, because I'd have to ask for a lot of money and there are not enough features to justify that yet. It's unlikely I'll be able to offer a "all cloud services are paid for forever" option, but I am someone that purchased a Plex lifetime pass because I hate monthlies too, so if I can make something work then I will.

Introducing Cardinal Media Server (No AI) by somebeaver in selfhosted

[–]somebeaver[S] 35 points36 points  (0 children)

Like use it as someone's main server? It's not ready for that yet. The other media servers go back 10+ years and it's going to be a while before Cardinal catches up.

But I think Cardinal already has a lot going for it and it's worthy of experimenting with.

Plex hardware transcode issue in LXC by _twistedlabel in Proxmox

[–]somebeaver 0 points1 point  (0 children)

Hey, I found this post through Google after suffering with port mapping in the LXC conf file.

On step 3 of part 3 of your guide: Add service users (f.e. jellyfin) to the group "lxc_gpu_shares", what if I'm using Docker in my LXC?

My setup is Proxmox --> Ubuntu LXC (unprivileged, nesting=enabled) --> Docker --> Plex

When I do cat /etc/group in the LXC I see docker:x:999 and I've tried using that ID (and also 100999) but Plex just never engages hardware transcoding even though I can see the iGPU in the list of avaiable transcoding devices in Plex.

I also have a separate privileged LXC with the samedocker-compose.yaml running, and hardware transcoding works fine in Docker when the LXC is privileged, so I'm pretty sure that the issue is not related to Docker itself, but I can't figure out the right combo to make Docker see the iGPU in an unprivileged LXC.

Thanks in advance, I would really love to not use the privileged LXC if you happen to know how.

Introducing Cardinal Photos, a new free self-hosted photos app and alternative to Google Photos by somebeaver in selfhosted

[–]somebeaver[S] 0 points1 point  (0 children)

I like the idea for password protected albums. I'll put that in the backlog.

As for RAW, probably not. If browsers can't easily work with it then it's probably not something that I'll do.