linuxserver / emulatorjs

Self hosted web based retro emulation front end with rom and art management.
379 stars 26 forks source link

[FEAT] Login Page #119

Closed dimmujed closed 5 months ago

dimmujed commented 6 months ago

Is this a new feature request?

Wanted change

A login page with some kind of basic authentication would be great for this, as that would allow it to be exposed to the internet w/o having to deal with copyright issues. I know there are ways to do it via other apps, but it seems like a rather complicated setup for one item.

Reason for change

Privacy, plus you can make it so it auto sets the user profile with their saves.

Proposed code change

No response

github-actions[bot] commented 6 months ago

Thanks for opening your first issue here! Be sure to follow the relevant issue templates, or risk having this issue marked as invalid.

thelamer commented 6 months ago

This container runs on http port 80 and 3000 without ssl intentionally, for outside world access to any of your apps always use a reverse proxy I recommend SWAG https://github.com/linuxserver/docker-swag

gr33k commented 6 months ago

I wanted to do the same thing to protect my public facing site...as I've read that security is not tested on this thing as it is intended to be use on a LAN (fair enough). SOOoooo.....I want to share it only with my friends. Using NGINX I created a basic auth for this purpose and it works fine:

server {
    server_name your.website.com;

#Basic Aut
    auth_basic           "Cool Gamers Only";
    auth_basic_user_file /data/Containers/emulatorjs/nginx/.htpasswd;

    location / {
        proxy_pass http://192.168.0.10:80;
    }

Hope this helps!

gr33k commented 6 months ago

Also to note - this is a dupe of https://github.com/linuxserver/emulatorjs/issues/114

thelamer commented 5 months ago

Linking note https://github.com/linuxserver/emulatorjs/issues/114#issuecomment-1882239359

thelamer commented 5 months ago

I have decided against this, anyone with a home server should be putting this behind a reverse proxy of some kind. I am not security focused and any authentication layer added would be to keep the kids out not the internet. When people land on apps and have root level access they understand that they cannot expose them to the internet. When you add auth you are indirectly saying I have secured this application even if not communicating that directly.