Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hosting my own remote-env (with roms) on AWS #27

Open
ryanpeach opened this issue Sep 14, 2018 · 4 comments
Open

Hosting my own remote-env (with roms) on AWS #27

ryanpeach opened this issue Sep 14, 2018 · 4 comments

Comments

@ryanpeach
Copy link

Hi, this is rather complicated I know, but there's no doccumentation on this and I'm a bit lost.

I want to run the remote-env and simple-agent docker containers on AWS Fargate, with them able to communicate with one another. That is the high-level goal.

So far I have built each, and put them both on ECS. However, I dont understand how to run with custom remote-env's.

I am trying this:

sudo retro-contest docker SonicTheHedgehog-Genesis GreenHillZone.Act1 --agent <my agent docker tag> --remote_env <my env docker tag>  --results-dir results --no-nv

And getting nothing.

None of the --help commands are very informative.

Thanks for your help.

@ryanpeach
Copy link
Author

ryanpeach commented Sep 14, 2018

Oh hey, I got it working by doing this:

sudo retro-contest run SonicTheHedgehog-Genesis GreenHillZone.Act1 --agent <my agent> --remote-env <my env> --results-dir results --no-nv

Now question is, how does it work? Do I need to make a third "host" docker container to run this script? What are the ports they communicate over? Who is managing what.

I'd love documentation and a generalization for remote environments like gym_remote, it's a pain running them locally when they are relatively large. Maybe as a wrapper to an environment? (noted, that is already in this package yes, but there is no documentation)

@endrift
Copy link
Contributor

endrift commented Sep 14, 2018

They communicate over Unix sockets, not IP sockets, on a shared volume. So long as you map the same volume into both at /root/compo/tmp they should be able to communicate. I don't know if ECS lets you do that though.

@ryanpeach
Copy link
Author

ryanpeach commented Sep 14, 2018 via email

@endrift
Copy link
Contributor

endrift commented Sep 17, 2018

Probably not. The Docker containers intentionally have networking disabled, for security reasons.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants