this post was submitted on 10 Nov 2024
-7 points (40.0% liked)

Technology

59667 readers
3766 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS
 

I'm in a weird situation, i have a dedicated mini pc for my Jellyfin server Here are the requirements for solutions

  • I cannot use an interface like a keyboard or mouse -I will not use linux for this particular machine -The device does have USB ports and a screen So to just have the jellyfin server start automatically, i would like to be able to hit the power button and have it boot into windows, thus automatically starting the jellyfin server and allowing me to do server restarts to fix issues.

Problem is the login screen, i can go as far as removing my password but it still requires user input to login. I need to bypass this but on the other hand i would not like to leave this giant vulnerability in my system. Is there any sort of way to get the best of both worlds? to have the PC be able to go from power button to jellyfin server started and still have some measure of security?

Thanks if anyone has any insight to my problem it would be wildly appreciated

top 22 comments
sorted by: hot top controversial new old
[–] [email protected] 13 points 2 weeks ago

Config Jellyfin to run as a service when you install.

https://jellyfin.org/docs/general/installation/windows/

[–] BananaTrifleViolin 11 points 2 weeks ago* (last edited 2 weeks ago)

As people have said, you can add Jellyfin as a service to start with windows regardless of users being logged in.

No one seems to have said how to do this.

The easiest way is to use the NSSM open source tool - it stands for "Non Sucking Service Manager" and it gives a GUI route to create services, as well as some useful reliability and fall back functions.

It can also be used from the command line if you prefer but regardless it's probably the easiest way without faffing around with powershell or command line and in built windows tools (which do suck).

Edit. The official website is NSSM.cc and it includes guidance on how to use it. There are also plenty of guides online if you search "how to create a windows service".

Edit2: the easiest way is to use the Jellyfin windows installer itself but the documentation is pretty vague on that and gives a warning about ffmpeg config. It should work but using NSSM will give you more direct control. I think the installer uses NSSM anyway.

[–] [email protected] 8 points 2 weeks ago* (last edited 2 weeks ago)

Sounds like you need to set up the Jellyfin server as a windows service so it starts without logging in. I'm surprised it doesn't do this automatically as part of the installer setup.

Alternatively you can just set up auto-login for your windows user account, but that gives you no security from local access.

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

Why not use an OS that supports your use case? If not Linux or BSD I bet Windows Server supports it.

[–] [email protected] 8 points 2 weeks ago* (last edited 2 weeks ago)

Windows supports this.

I'm pretty sure I read a post years ago about how to run Jellyfin as a service (I think it's even documented on the website).

It already runs as a headless service that you access via a browser, so you just have to configure an actual Windows Service.

I just checked - installing as a service is part of the installer, right on the Jellyfin website.

[–] Veritrax 5 points 2 weeks ago* (last edited 2 weeks ago) (2 children)

Can you set the Jellyfin server service to start with Windows? Shouldn't need a login then. If not, you can use a PowerShell script that starts the Jellyfin .exe and use a scheduled task to run it when event id 6005 is triggered. That's the event id created when the event log starts.

[–] [email protected] 7 points 2 weeks ago (2 children)

Windows task scheduler has plenty of built in things for this.

[–] yokonzo 1 points 2 weeks ago (2 children)

This might work, do you know how secure this is? Could i just put it in to automatically input the password on startup? i imagine that wouldn't just "unlock" the machine for anyone trying to SSH in

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

Automatically entering the password at the login prompt would be FAR more insecure than task scheduler starting the task on startup. What you should do is go into task scheduler and tell it to start your jellyfin service. Then jellyfin is running, but your user isn't even signed in.

If you just want auto login then look at these:

https://learn.microsoft.com/en-us/troubleshoot/windows-server/user-profiles-and-logon/turn-on-automatic-logon

https://answers.microsoft.com/en-us/windows/forum/all/auto-sign-in-missing-from-netplwiz/1c06918b-04e0-4b2f-ab67-8b5bd7eee89b

That's how windows intends you to automatically log in even though your user has a password.

[–] yokonzo 2 points 2 weeks ago

Thank you this worked

[–] [email protected] 2 points 2 weeks ago

I have used this for something else a few years ago: It let me select what user to run it as and prompted me for a password while configuring it and then later it didn't need a login any more.

[–] Veritrax 1 points 2 weeks ago

Very true. I have a couple items at work that don't work when I pick "at startup" so I usually just go with the event log startup as the trigger nowadays.

[–] yokonzo 1 points 2 weeks ago

I didn't even see this, yes this could work, would just take the login out of the equation

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

Is there any sort of way to get the best of both worlds? to have the PC be able to go from power button to jellyfin server started and still have some measure of security?

Windows with auto login? Not really. That is, anyone with a mouse + keyboard locally can get in there.

You can set up jellyfin to run as a windows service and then it should auto start and run as a particular user without you having to log in. Have a look in the "advanced" section in the jellyfin docs.

[–] yokonzo 1 points 2 weeks ago

I mean if someone is in local that's already further than I'm looking to protect, I just need the jellyfin to not be a vulnerability on my network. It's not like there's sensitive data on there

[–] ExcursionInversion 1 points 2 weeks ago (1 children)

Could use chrome remote desktop to log into the windows minipc and set jellyfin to start with windows.

[–] yokonzo 1 points 2 weeks ago

This is essentially what i already do, but hitting start with windows doesn't usually actually start it unless you've bypassed the login screen

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

I don't remember exactly how, but I did the same thing for my streaming gaming laptop. I had to put my unencrypted password in the registry somewhere, but it's been a few years, I don't remember where I put it. But perhaps this piece of information will help.

[–] linearchaos 2 points 2 weeks ago

The search term to find it is autologon, but as everyone has mentioned, this is a last resort and JF should just be run as a service.

[–] kitnaht 1 points 2 weeks ago (1 children)

My windows installs (Win 10 IoT Edition) just boot directly to desktop. Dunno what you've borked there.

[–] yokonzo 1 points 2 weeks ago

I doubt anything, considering I have a total of 3 things I've installed to run jellyfin

[–] [email protected] -1 points 2 weeks ago

You could migrate jellyfin into a Linux container and share the media through a local loopback and configure it for a headless installation if you can't give up that Windows installation.

Alternatively like another person suggested configuring it as an service could help here