Inglebard / dockerfiles

Some Dockerfiles
MIT License
49 stars 14 forks source link

Retroarch can't find my roms folder. #2

Closed ghost closed 3 years ago

ghost commented 4 years ago

When I mount my roms folder in docker, it never shows up in retroarch.

My setup is a openmediavault NAS with a gamefolder on it and I use the OMV extra docker plugin.

What I am trying to do is to bind the game folder in the docker container.

image

Inglebard commented 4 years ago

Hi atomic83GitHub, Please note, this github repository is not an official repository and my answers may not be accurate.

What I am trying to do is to bind the game folder in the docker container.

I think this is not possible. But you can ask directly on the official forum to be sure. This docker image is the emscripten Retroarch web player and it is designed to be played directly in the web browser.

So all the emulators (including filesystem) is handled in the web browser. So the filesystem you can see is not the filesystem of the docker image.

Here is the basic how it works to add your games (from https://web.libretro.com/ ) :

Load Core Load your core by clicking on the first tab. Scroll down until you reach the desired Core. We will use Nestopia for now. Don't forget - Content must be compatible with the matched Core. Nes: NESTOPIA Game Boy / Color: Gambatte etc.

Load Content After selecting Core, click Run. After RetroArch opens, click Add Content and select your compatible ROM. Nestopia > YourGame.nes Gambatte > YourGame.gbc etc.

Cleanup Storage The trashcan erases your existing configuration and presets. If the Web Player doesn't start, you should click the trashcan and refresh the cache in your browser (usually F5 or Shift+F5).

Quick Menu If you click on the three line icons, the Quick Menu will open here as in RetroArch.

ghost commented 4 years ago

So the games I import on retroarch are stored on my browser cache?

Inglebard commented 4 years ago

Yes, games are stored locally on the browser.

Inglebard commented 4 years ago

Hi, I just re-read the docs and update my dockerfile. Now you should be able to add your games in "/var/www/html/assets/cores" and will be visible under "Start Directory"/"downloads".

consolecwby commented 4 years ago

So i am having trouble with mounting volumes for roms. If i have a directory with all my roms called "games" then i should run the container like this: docker run --rm -it -p 8080:80 -v games:/var/www/html/assets/cores inglebard/retroarch-web

this just isnt working for me is the problem, am i doing something wrong?

Inglebard commented 4 years ago

Hi,

I fix the entrypoint script.

Update the docker image with docker pull inglebard/retroarch-web.

Please note "games" should be a full path.

consolecwby commented 4 years ago

Sorry it still isnt working for me.
i removed the image using the synology GUI (not sure how to do it with docker commands) I ssh into my nas where docker is installed

sudo docker pull inglebard then i try sudo docker run --rm -it -p 8080:80 -v games:/var/www/html/assets/cores inglebard/retroarch-web and also this sudo docker run --rm -it -p 8080:80 -v volume1/games:/var/www/html/assets/cores inglebard/retroarch-web

none of the roms are shown in the downloads folder and i feel like the cores quit working.

should i use docker volume and setup /volume1/games/ as a docker volume?

Inglebard commented 4 years ago

I don't know how works docker in Synology. You need to redownload inglebard/retroarch-web not inglebard. (You may have an option in the Synology GUI)

Depending where you games are, you need a full path to mount to the container. So if your games are in /volume1/games, your command line should look like this sudo docker run --rm -it -p 8080:80 -v /volume1/games:/var/www/html/assets/cores inglebard/retroarch-web

You can also add a sub folder inside the container to avoid the creation of file (.index-xhr) inside your games folder. sudo docker run --rm -it -p 8080:80 -v /volume1/games:/var/www/html/assets/cores/games inglebard/retroarch-web

You also can use a mounted volumes. But I don't recommend it because it will be annoying to add games into it.

i feel like the cores quit working.

I just create an image form https://buildbot.libretro.com/assets/frontend/ and follow this https://github.com/libretro/RetroArch/tree/master/pkg/emscripten. I don't build or modify the cores. If you have issue with the core, you may ask to the official forum.

Inglebard commented 3 years ago

I close the issue since, it is more than 6 month old without activity. Comment here if you still think there is an issue with this docker image.

KaiDevrim commented 3 years ago

Hello, I am having the same issue where nothing seems to appear or populate in my /var/www/html folder when mounted via docker.

  retroarch-web-nightly:
    container_name: retroarch
    ports:
      - "3890:80"
    volumes:
      - ${HDD}/apps/retroarch:/var/www/html
    image: inglebard/retroarch-web-nightly

The ${HDD} works in every other one of my containers. Is there something that is supposed to be made in the /var/www/html folder?

Inglebard commented 3 years ago

@KaiDevrim Hi, I don't think you should mount something at /var/www/html. You will delete (replace) retroarch files. The docker image will not populate /var/www/html if expected file are present or not.

You should try to mount your games (and if possible only your games) in "/var/www/html/assets/cores/games".

  retroarch-web-nightly:
    container_name: retroarch
    ports:
      - "3890:80"
    volumes:
      - ${HDD}/apps/retroarch:/var/www/html/assets/cores/games
    image: inglebard/retroarch-web-nightly
KaiDevrim commented 3 years ago

I mounted the directory and added a gba game to the directory but I am not too sure where in RetroArch I am supposed to find the file? image The retorarch web directory I am in btw is /home/web_user/retroarch/userdata/content/downloads/games

Inglebard commented 3 years ago

@KaiDevrim

The games should be available under "Start directory" -> then "downloads/games". So your screenshot is OK.

However, each emulators search for compatible files. You are using "Gambatte" which is a Game Boy/Game Boy Color emulator with a .gba extension which is for Game Boy Advance.

You should use VBA Next. Then your .gba files should appear.

KaiDevrim commented 3 years ago

it still does not appear when i select vba next and run it. I even added a folder to the downloads/games folder and it doesnt show up in retroarch

KaiDevrim commented 3 years ago

image

Inglebard commented 3 years ago

Unfortunately, I am not able to reproduce the issue. I don't know if it is because we are not using the same OS or something else. (I am on Linux, tested on Manjaro and Ubuntu server)

I can only tell you to double check if you have :

Here is a screenshot of what I got, maybe, it can help you.

example

You also may find additional help from official forum and/or official github.

KaiDevrim commented 3 years ago

can you send me the run command you used?

Inglebard commented 3 years ago
docker run --rm -it -p 3890:80 -v <your path>:/var/www/html/assets/cores/games inglebard/retroarch-web-nightly
KaiDevrim commented 3 years ago

I got it to work, it was probably the nightly image that was broken, or i had to run the cleanup storage option!

Inglebard commented 3 years ago

@KaiDevrim I'm glad that it works.