unexpectedpanda / retool

Retool: a better filter tool for Redump and No-Intro DAT files.
BSD 3-Clause "New" or "Revised" License
355 stars 23 forks source link

Feature request - Docker support / arm support #255

Closed fede843 closed 5 months ago

fede843 commented 1 year ago

Hello, is there any plan in the roadmap to add arm64 support. Also I would like to know if there any interest on docker support.

Cheers!

unexpectedpanda commented 1 year ago

I don't have an ARM device running a desktop OS to test on. Having said that, does Retool not run already using the Python interpreter for the platform? Which particular platform/OS are we talking about?

What do you see as the use case for Retool in a Docker container?

Edit: this is starting to sound like an ARM NAS with container support, and a potential attempt to automate ROM management. I wonder how close I am to the mark :P

fede843 commented 1 year ago

Hi, I am new in the retro gaming world. I do have a retropie setup in a raspberry 4 since few years ago, but with a limited number of roms.

Lately I have been trying to expand that, and as a natural step, I was looking into rom managers. Soon enough I found the need to pre filter the dat files. From the official romvault discord channel suggested me this tool. And for what I have seen this fits perfectly.

In my case, and same as many others using retropie in particular, we are running it in a RPI. Not everyone has moved to 64 bits. I did jump time ago. So in my case the platform is arm64.

I try to keep all the gaming related stuff in there, in a headless way as services (with the exception of retropie itself that run natively in the OS). The rest is mostly docker services. I have been playing with several docker adaptations of rom managers. I really like the idea of having that tool in the system itself, and be accesible from a web browser. I guess that fits very good for many users. Jrommanager has a server mode, and I have built a local image of https://github.com/laromicas/docker-romvault that works pretty well so far.

So I came here looking for something in this line, ideally a docker service, that can be accessed via a browser. But then I realized this task can be easily done somewhere else, and then move the dat files. This work is something I am planing to do now, at installation time, and possible not in a relatively long period.

So, I am not sure anymore if I have the "need" for this in the RPI, it would be nice indeed, but as I said, maybe it is to overcomplicate the things. Never the less I might try to build it for the ARM platform probably.

fede843 commented 1 year ago

For people running NAS, same as the rommanager via a web interface, this can be useful.

unexpectedpanda commented 1 year ago

Ah this is a big request -- it's not just building a Docker image, but a web server and web UI. It's not a path I intend to go down any time soon, although I note there are other projects that could help ease the process.

You do have another option for running Retool directly on your Raspberry Pi. Retool can be run as a command line tool pretty much anywhere Python 3.10+ will run. SSH into your RPi and you're away. Not as convenient as a web interface or desktop GUI, but it works.

fede843 commented 1 year ago

Sure, I will give it a try. Also running a x2go remote windows is an option too. Thanks!

muggsyd commented 1 year ago

I run retool cli in docker and it runs very well. My image is based on the python:3.10-slim docker image. I'm happy to share my Dockerfile if you want (although I've had to revert to retool 2.00.3 due to some bugs I've encountered, but not reported)

unexpectedpanda commented 1 year ago

Good to hear, @muggsyd. Sure, happy to see the Dockerfile, curious to see what you've set up.

I'm concerned to hear about bugs after 2.00.3 though. Do file those issues so I can look into it (looking at the changelog, I can only guess something went pear-shaped with language selection for you).

muggsyd commented 1 year ago

Here you go... https://github.com/muggsyd/docker-retool I'm no docker expert, but retool has been brilliant thru v1 and v2 in docker

I'll rebuild v2.00.5 and log the issues I faced today :)

unexpectedpanda commented 1 year ago

Finally coming back around to this @muggsyd. One question before I start diving in: why rename the readme?

muggsyd commented 1 year ago

Remove Line 30 (ARG UID) Remove line 25 (which forces 2.00.3) Remove my details as the maintainer from Line 2 :) and replace with your own :), or remove altogether :)

I would also add this line at Line 3 ARG UID=1000 to specify the default UID (1000 is normally what the docker process runs at)

That should build a fairly default Docker Image locally

The readme.md was causing my poetry install to fail due to case sensitivity as it couldn't find README.md. That's why I had to rename it from readme.md to README.md. I built the image on Linux which is why this is important. On Windows case sensitivity doesn't matter

Let me know if I can help in any other way.

maxexcloo commented 8 months ago

I also have a Docker image here if anyone is interested: https://github.com/maxexcloo/docker-retool

unexpectedpanda commented 5 months ago

Since others have tackled this feature, I'm going to close this now.