Coder Social home page Coder Social logo

Comments (10)

theborakompanioni avatar theborakompanioni commented on June 2, 2024 1

Hey! Thanks for the report!

What node and npm version are you running?
Currently cannot reproduce with node v16.17.0 and npm v8.15.0.

Would running the ui-only docker image be a viable workaround for you?
edit: Please see the updated instructions and make sure you are running JM v0.9.8 as backend

from jamdocs.

theborakompanioni avatar theborakompanioni commented on June 2, 2024 1

I can try docker but I am not sure if I can install Jam only. I already have a JoinMarket v0.9.7 instance running and I'd like to connect to that one, which is running on a separate dedicated machine.

For Jam v0.1.0 you should update to v0.9.8 if you can do so easily... It has one important bug fix for scheduled sweeps, which enables the Stall Monitor and prevents the process from "getting stuck".

Will this do that?

. jmvenv/bin/activate
python3 scripts/jmwalletd.py

. jmvenv/bin/activate
python3 scripts/obwatch/ob-watcher.py --host=127.0.0.1

ssh 192.168.1.8 -v -o GatewayPorts=true -N -L 28183:127.0.0.1:28183 -L 28283:127.0.0.1:28283 -L 62601:127.0.0.1:62601

Yes!

Option 1: run Jam via docker

docker run --rm -it
--add-host=host.docker.internal:host-gateway
--env JMWEBUI_JMWALLETD_HOST="host.docker.internal"
--env JMWEBUI_JMWALLETD_API_PORT="28183"
--env JMWEBUI_JMWALLETD_WEBSOCKET_PORT="28283"
--publish "8080:80"
ghcr.io/joinmarket-webui/jam-ui-only:v0.1.0-clientserver-v0.9.8

See https://github.com/joinmarket-webui/jam-docker#run - the env vars prefix changed from JMWEBUI_ to JAM_, and you'd need to add JAM_JMOBWATCH_PORT. Otherwise - looks good! Let me know if it worked for you.

docker run --rm  -it \
         --add-host=host.docker.internal:host-gateway \
         --env JAM_JMWALLETD_HOST="host.docker.internal" \
         --env JAM_JMWALLETD_API_PORT="28183" \
         --env JAM_JMWALLETD_WEBSOCKET_PORT="28283" \
         --env JAM_JMOBWATCH_PORT="62601" \
         --publish "8080:80" \
         ghcr.io/joinmarket-webui/jam-ui-only:v0.1.0-clientserver-v0.9.8

That so strange.

node -v
v16.17.0

npm -v
8.15.0

I will maybe transfer the issue to the jam repo and try to fix it there. Again, cannot reproduce at the moment. Will report back. Thanks for the report! ๐Ÿงก

from jamdocs.

theborakompanioni avatar theborakompanioni commented on June 2, 2024 1

I'll try when I have some time, and let you know. One thing is worth mentioning, I believe. On the machine running JoinMarket I am using JoininBox. So maybe that environment isn't the best starting point for trying Jam and possibly it's the source of weird issues? Even though the machine from where I want to run Jam has none of that stuff.

I am sorry but I can only make uninformed guesses about this. I have never heard of any incompatibilities from anyone before, but that does not mean that there are none. This PR updates the dependencies, which I hope could at least theoretically fix your problem (still, without being able to reproduce it). I'll ping you here when it got merged.

from jamdocs.

BTCBellyButton avatar BTCBellyButton commented on June 2, 2024
node -v
v16.17.0

npm -v
8.15.0

I can try docker but I am not sure if I can install Jam only. I already have a JoinMarket v0.9.7 instance running and I'd like to connect to that one, which is running on a separate dedicated machine.

Will this do that?

. jmvenv/bin/activate
python3 scripts/jmwalletd.py

. jmvenv/bin/activate
python3 scripts/obwatch/ob-watcher.py --host=127.0.0.1

ssh 192.168.1.8 -v -o GatewayPorts=true -N -L 28183:127.0.0.1:28183 -L 28283:127.0.0.1:28283 -L 62601:127.0.0.1:62601

# Option 1: run Jam via docker

docker run --rm  -it \
        --add-host=host.docker.internal:host-gateway \
        --env JMWEBUI_JMWALLETD_HOST="host.docker.internal" \
        --env JMWEBUI_JMWALLETD_API_PORT="28183" \
        --env JMWEBUI_JMWALLETD_WEBSOCKET_PORT="28283" \
        --publish "8080:80" \
        ghcr.io/joinmarket-webui/jam-ui-only:v0.1.0-clientserver-v0.9.8

from jamdocs.

BTCBellyButton avatar BTCBellyButton commented on June 2, 2024

I'll try when I have some time, and let you know.
One thing is worth mentioning, I believe.
On the machine running JoinMarket I am using JoininBox. So maybe that environment isn't the best starting point for trying Jam and possibly it's the source of weird issues? Even though the machine from where I want to run Jam has none of that stuff.

from jamdocs.

BTCBellyButton avatar BTCBellyButton commented on June 2, 2024

I could finally start it.
One thing should be added to the document section "...connecting to a remote JoinMarket instance".
Something like:

Once started, go to http://localhost:8080/ in your browser.

It took me some time to figure out that it wasn't running on port 3000 as said few lines above...

BUT I get this error:
image

What should I check?

from jamdocs.

theborakompanioni avatar theborakompanioni commented on June 2, 2024

It took me some time to figure out that it wasn't running on port 3000 as said few lines above...

Oh, yes. m(
Thanks - updated accordingly: #20

Once merged, the "standalone" example with docker will use port 8080 - the "local/remote" examples will use port 3000.

BUT I get this error: image

What should I check?

Pardon the question, but if it is running on port 8080, I assume you are using the docker ui-only image now (instead of with npm), is that correct?
Also I assume, you are still trying to connect to a remote instance, right?

If you are connecting to a remote instance, make sure that the tunnel is working correctly:

ssh yourhost.local -v -o GatewayPorts=true -N -L 28183:127.0.0.1:28183 -L 28283:127.0.0.1:28283 -L 62601:127.0.0.1:62601

(I am not completely sure whether the tunnel must be created before starting the docker image - should not be necessary, but did not verify. To be safe, start the tunnel before running the container).

Then check that the jmwalletd service is reachable from you host, e.g. with:

curl -ksX GET https://127.0.0.1:28183/api/v1/session

This should response with something like:

{"session": false, "maker_running": false, "coinjoin_in_process": false, "schedule": null, "wallet_name": "None", "offer_list": null, "nickname": null}

If you don't get this response, make sure that the service is actually running and that the ports match. 28183 is the default port for jmwalletd, see https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/v0.9.8/docs/JSON-RPC-API-using-jmwalletd.md#introduction---how-to-start-the-server

e.g. execute the curl request on the remote machine.

After a solution is found, I will update the FAQ section https://jamdocs.org/FAQ/#no-connection-to-gateway with the findings. ๐Ÿ™

from jamdocs.

BTCBellyButton avatar BTCBellyButton commented on June 2, 2024

Pardon the question, but if it is running on port 8080, I assume you are using the docker ui-only image now (instead of with npm), is that correct?

Correct

Also I assume, you are still trying to connect to a remote instance, right?

Yes

Start jmwalletd.py on remote JM machine:

image

Start tunnel on local JAM machine, Tested on remote JM machine:

image

Run docker on local JAM machine:
image

Run JAM in browser on local JAM machine, no connection:
image

from jamdocs.

theborakompanioni avatar theborakompanioni commented on June 2, 2024

@BTCBellyButton Have you been able to make it work?

from jamdocs.

theborakompanioni avatar theborakompanioni commented on June 2, 2024

Ran into the same situation today with a local tunnel and --add-host host.docker.internal:host-gateway.
Solution was to either run on the host network with --network host or exposing the tunnel ports on 0.0.0.0 instead of 127.0.0.1.

Instead of

ssh yourhost.local -v -o GatewayPorts=true -N -L 28183:127.0.0.1:28183 -L 28283:127.0.0.1:28283 -L 62601:127.0.0.1:62601

use

ssh yourhost.local -v -o GatewayPorts=true -N -L 0.0.0.0:28183:127.0.0.1:28183 -L 0.0.0.0:28283:127.0.0.1:28283 -L 0.0.0.0:62601:127.0.0.1:62601

This is not optimal (as it exposes the ports on your local network) but can be a temporary workaround.

Closing this issue now, please reopen on demand.

from jamdocs.

Related Issues (14)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.