Running some kind of node

I’m playing with running a node on some spare server at OVH (a pretty decent french hosting provider when they don’t turn one of their datacenter into this …

)

I’m using the docker approach with ./mob prompt

I’ve looked into the mob python script and figured out I could publish a port with --publish:

So I published mobilecoin-json with:

./mob prompt --publish=9090

When I’m inside the container, I can test that mobilecoin-json is running well:

root@6bec057d1c13:~# curl localhost:9090/ledger/local
{"block_count":"7326","txo_count":"21672"}

But when I’m on the host system, mobilecoin-json does not want to answer my requests:

deur@vps647088:~$ curl localhost:9090/ledger/local
curl: (52) Empty reply from server

I’m pretty sure that the 9090 port is correctly exported:

deur@vps647088:~$ docker container ls
CONTAINER ID        IMAGE                                           COMMAND             CREATED             STATUS              PORTS                                                                                          NAMES
6bec057d1c13        gcr.io/mobilenode-211420/builder-install:1_16   "/bin/bash"         30 minutes ago      Up 30 minutes       3223/tcp, 3225-3226/tcp, 3228/tcp, 4444/tcp, 8080-8081/tcp, 8443/tcp, 0.0.0.0:9090->9090/tcp   romantic_haibt

Am I being an idiot by missing something obvious? Or does mobilecoin-json need some specific command to answer requests from the “outside world” (here, the outside world is just the host running the container)?

:thinking:

We are right in the middle of a big sprint so all of the engineers at MobileCoin Inc. are unavailable for a few days. We’ll get you an answer ASAP.

Cheers,
Joshua

Hi Stephan,

Try also passing --expose=9090

Let us know if this solves the issue!

Thank you @drakeley for answering my question.

Passing --publish 9090 is enough in the end.

I’ve just found out that what I was missing is to tell Rocket to listen to any host when launching mobile coin-json. By default, Rocket only listens to localhost.

Here is how I launch Rocket now:

./target/release/mobilecoind-json --listen-host 0.0.0.0

You can see that it works now:

$ curl vps647088.ovh.net:9090/ledger/local
{"block_count":"7968","txo_count":"23539"}

You can actually test it yourself, as long as I keep my container running, it will answer your requests.

:+1:

Oh wow awesome! I sent a request :slight_smile: Thank you for running this!