• 0 Posts
  • 8 Comments
Joined 3 years ago
cake
Cake day: June 25th, 2023

help-circle
  • What you’re describing works but probably not for me as you acknowledge. The “PC loses AC while running” part is what I actively try to avoid as part of the greater goal of minimizing risk of damage/data loss. It might be superstitious at this point, modern hardware and filesystems being a bit more resilient, but I feel better not risking it. Since I’m shutting down before the UPS battery dies, and power could restore before it does, there’s a real chance power will never be totally lost as far as the motherboard sees it. In that case a boot on AC restoral won’t get triggered. Otherwise I agree. It’s a lot of work. Or rather a lot of research, RTFM, and understanding before you can even do the a little bit of work to implement it.


  • I was actually working on an edit to further clarify but that context helps. You’d think for a single machine, just run NUT (or whatever) directly on said machine. The two big reasons, even in that case, for using NUT on a RPi or other low power machine are actually what my edit was going to address: Power Consumption and Wake on LAN. After shutting down any power hog server(s) a decent UPS can probably keep a Pi Zero and travel router running for half a day. Ideally long enough to send a WoL packet to the server(s) once the UPS says power is restored. That can be pretty important, even in a “single” (ignoring the Pi) machine setup, if you’re out of town and nobody else has access to manually power it back up.

    I will admit NUT was one of the more convoluted things I ever set up, and one has to write their own scripts and such for it, but I find it worth the peace of mind knowing things shut down cleanly. Having them wake back up automatically is icing on the cake, even if my own setup is local only. There’s never a need, if I’m not home, to walk anyone over the phone through identifying which nondescript black rectangle needs its power button pushed.


  • __hetz@sh.itjust.workstoSelfhosted@lemmy.world•*Permanently Deleted*
    link
    fedilink
    English
    arrow-up
    8
    ·
    edit-2
    3 months ago

    I’m not sure if there’s a fundamental misunderstanding but I felt a need to clarify that NUT works with a UPS. It isn’t either or. Whether you’ve got a homelab or a single desktop PC, you need some piece of software which can see when the UPS goes “Oh shit, power is gone” and instruct the machine(s) to shut down cleanly. NUT is that software. If it wasn’t NUT then it’d be whatever software the UPS manufacturer either provides or recommends for your combination of UPS and OS.

    To the example of how one provides media to other devices inside (and possibly outside) the local network, although I get the broader idea, it really becomes a matter of scope, scale and taste. If my goal were to provide access to family members outside my home, friends, possibly friends of friends (either by intent or as a result of account sharing) then I’ll probably want monitoring. I’ll want a dead simple app any of them can install and point to a memorable URL. I’ll want alerts if someone in Romania or Shanghai attempts to log in with a friend’s account… You get the gist. If it’s not something that matters outside my house and I’m not going to repeatedly need to setup VPNs and map network drives for people, I could just spin up a Samba share and add it to the handful of devices in my home network and let those devices decide what application opens whatever media.

    In actuality I’m extremely small scale (serving only my home) and still prefer Jellyfin for its simplicity and transcoding. It’s simple enough to slap on cheap Android TV boxes and hand someone the remote. No real reason to watch it like a hawk. Nor to track bandwidth; I’ve got an excess for the house. The GPU is capable enough; an Arc A380 that’ll never have enough simultaneous transcodes to be a bottleneck.

    To answer the “why?,” I am one of those people that enjoys learning things that often feel like (or factually are) work. Maybe it’s self flagellation and I just refuse to admit it. I am a Factorio addict. But it’s also because tackling those things usually means the other users have an easier time. Mamma don’t wanna learn to drive the network to her laptop or search the app store for a file thingamajig what can connect to that tango or salsa or whatever just to scroll through a bunch of video file icons with the text so small she has to break out the Walgreens readers. She wants a shiny interface that’s swipe-able on a phone or tablet or navigable with a remote control. Pretty movie posters and bold legible titles. And I haven’t touched my config in months for that matter. Just a little bit of work has propped up a really enjoyable, ongoing show/movie watching experience. Definitely worth.


  • American mindset, and probably more broadly speaking, “ban thing” when thing isn’t widely understood (to be bad, or even in general) usually gets reactionary backlash because people don’t like when decisions are made for them or options (even those they’re unaware of) are either taken off the table or forced upon them. It’s teeing up Microsoft to spend a few bucks on a country song and cowboy character ad campaign to brush the issue off.

    “New thing better” doesn’t always work well either because people need a reason to change when things seemingly already work as-is. Leading with outrage is unfortunately the better way to win over people who aren’t going to make an effort for themselves to investigate the problem. Tell them why they should be angry, why Microsoft is a threat to their children, etc and then, if you can convince them, is when you add “…and that’s why we should ban MS products.” Even that is still insufficient without a clear course of action. If the solution isn’t drop-in and painless, it’s going to disrupt the education of the generation when the change is made. The argument needs to be compelling enough to worth unsettling the status quo.

    Last up, our education system is headed by a carny. Our administration swung the doors wide open for Mecha Hitler. Our president loves the uneducated and the uneducated clap like a pack of trained seals when they hear it. Even if Microsoft failed to backroom deal or blackmail their way into maintaining their stranglehold, you’d have to be on Elon levels of ketamine to believe the current admin would adopt open standards or invest the US equivalent of Venezuela’s Canaima Linux. We’d get gaudy gold TrumpTops preloaded Grok, nationalist propaganda and government spyware.

    All that isn’t to piss on the parade. I’m for open standards, open operating systems and improving technical literacy while stripping away the invasions of privacy and stopping the dumbing down of our youth. I just think “ban thing” is only ever going to appeal to bandwagon radicals and the folks that already agree with you. If you’re not winning over the opposition (and more importantly the idiots who don’t even know they’re opposed until their indignant inner sleeper cell is activated by the word “ban”) you’re in for a losing fight.


  • Closest thing I have to a formal education in IT is taking keyboarding, QB, then VB in high school in the early 00s. The only thing I came away with from that was the basic concepts; variables, integers, strings, loops, functions, recursion, etc. I remember nearly nothing about VB. Self taught some Python after that, went to Linux and started learning Bash, CLI tooling, editing confs, working on small portions of languages I didn’t know like Haskell (Xmonad) and eLisp (emacs), running containers… Long enough ago I remember manually setting up Apache and MySQL a few times, editing whatever init system I was using to ensure they started, etc.

    Time and cost are big determining factors. Sometimes I’d like to know more but never enough to become indebted to educational bills for something I’m not making a career out of. Same reason I can install, remove, rekey and pick various locks, and have installed some access control stuff in the past under an employer, but I’m not shelling out to become licensed Locksmith or Security Systems Technician myself. Tools are comparatively inexpensive, and I have many from past employment, and YouTube is still free and archiveable… add in a bit of “dorking” to find manuals and whatnot and self-teaching just makes more sense for me. Same reasons I’m entering my shade tree mechanic arc these days - it’s not worth paying to become an auto tech but it is worth saving thousands on the repairs I can do. Plus it’s just fun to learn and work with my hands.


  • I can say that TubeArchivist is essentially single-user. Multiple accounts on a single TA instance will share the same underlying library with a ./library_dir/channel_id/video_id.ext directory structure. You could run an instance per user for individual TA libraries but, last I looked, the Jellyfin plugin doesn’t support multiple TA instances so it still wouldn’t be able to get the metadata from any instance(s) other than the one it’s configured to. It was a requested feature, on the plugin’s GitHub, but I’m not sure if it’s actively being implemented. The only workaround I can think of for now would be using a shared TA library and then manually tagging the videos in JF and using parental controls to hide them. Billy won’t see vids tagged #SusieYT, Susie has #BillyYT added to her blacklist, etc.


  • Gotcha, that sheds more light. For your use case you’d need to script up some solution that parses the URLs from the feed(s) and sends them to TA’s API. I don’t think it’d be terribly difficult but, if I wasn’t concerned with actually saving the content, I’d turn to something like SmartTube/FreeTube/etc for simplicity and to just stream it.

    For OP’s use case, throwing specific URLs at something which will download them and then have them pop up in Jellyfin, I can’t think of anything easier (at least after the initial setup) than TA. Unless any of the other suggestions here can also handle the metadata for JF, there’s gonna be a lot of manual work involved to have videos show up meaningfully and organized in JF.


  • TA is probably perfect, really. You get the TA Jellyfin plugin , mount TA’s library directory as read-only in Jellyfin, and add that mount as a “Shows” library with TA as the sole metadata provider. Channels become “Show” names and “Seasons” are the upload year. One-way or bi-directional watch progress between JF and TA. I don’t use the feature but I think it supports some sort of organizing by YouTube playlist these days too, maybe as “Collections.”

    The only issue I’ve had is JF seems to do some built-in stuff when it comes to filling in metadata based on file names. Occasionally an “S0” or “E12”, as examples, will erroneously put a video into “Specials” (Season 0) or give an “Episode 12” where there shouldn’t be if those or similar substrings are in the Video ID (which is also the filename). My hackish solution, for a while, was a script that ran a sqlite command against the Jellyfin DB to find any videos in the YouTube library with not null episode numbers and set them to null, and also set unexpected seasons to the year of the video’s upload.

    I had it automated to run right after my scheduled TA downloads completed but it felt a bit wrong doing that on live DB. So now I just periodically run the query, sans the updating, then fix the metadata from within JF’s UI if there are any query results. I could see that being a little irksome, and beyond what non-hobbyists could figure out, but it’s honestly a small price for me when it means I have all my archived YouTube content organized, with descriptions and thumbnails, with no other real work on my part.