Skip to content

Instantly share code, notes, and snippets.

@plowsof
Created October 25, 2025 19:03
Show Gist options
  • Select an option

  • Save plowsof/419d04555cbca90e9d45658df35273f0 to your computer and use it in GitHub Desktop.

Select an option

Save plowsof/419d04555cbca90e9d45658df35273f0 to your computer and use it in GitHub Desktop.
monero-lws

Begin of torture

Monero-lws docker maintained by Vtnerd linked in https://libera.monerologs.net/monero-community/20251025#c601972

docker pull ghcr.io/vtnerd/monero-lws:latest

I recognise this gchr thing, i seen it today when trying to use github workflow caches

It's Git Hubs Container Registry https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry skipping over the details i can assume that the image i pull was created by vtnerd himself

lets just jump in and run the command without reading any docs and see what happens.

# docker pull ghcr.io/vtnerd/monero-lws:latest
latest: Pulling from vtnerd/monero-lws
828c1365039a: Pull complete 
364aa094af3e: Pull complete 
4f4fb700ef54: Pull complete 
7e0b10f88f23: Pull complete 
fccaf557b559: Pull complete 
Digest: sha256:bb5037c1a68e03d38db1d7e1c205bb398accbc1abce11ab6b21a76a09e974747
Status: Downloaded newer image for ghcr.io/vtnerd/monero-lws:latest
ghcr.io/vtnerd/monero-lws:latest

ok great, now what, i guess i need to read some docs.. right, here we go https://github.com/vtnerd/monero-lws?tab=readme-ov-file#docker

yep, no direct instructions there on how to use the container after pulling it, further research...

a clue at the end of the Dockerfile: https://github.com/vtnerd/monero-lws/blob/master/Dockerfile#L136C1-L140C83

  --zmq-rpc-bind-port arg (=18082, 28082 if 'testnet', 38082 if 'stagenet')
                                        Port for ZMQ RPC server to listen on
  --zmq-pub arg                         Address for ZMQ pub - tcp://ip:port or 
                                        ipc://path

default for --zmq-rpc-bind-port is 18082 --zmq-pub is set for my node @ zmq-pub=tcp://0.0.0.0:18084

so to run the container and pass the correct ports:

docker run --name monero-lws \
  --network host \
  ghcr.io/vtnerd/monero-lws:latest \
  --daemon=tcp://127.0.0.1:18082 \
  --sub=tcp://127.0.0.1:18084

ok first run looks successfull:

2025-10-25 18:20:45.278	I Using monerod ZMQ RPC at tcp://127.0.0.1:18082
2025-10-25 18:20:45.278	I Starting blockchain sync with daemon
2025-10-25 18:20:45.420	I [PARSE URI] regex not matched for uri: ^(([^:]*?)://)?(\[(.*)\](:(\d+))?)(.*)?
2025-10-25 18:20:45.421	I Binding on 0.0.0.0 (IPv4):8443
2025-10-25 18:20:45.422	I Generating SSL certificate
2025-10-25 18:20:47.306	I Run net_service loop( 1 threads)...
2025-10-25 18:20:47.306	I Listening for REST clients at https://0.0.0.0:8443
2025-10-25 18:20:47.306	I Retrieving current active account list
2025-10-25 18:20:47.306	I No active accounts
2025-10-25 18:20:57.306	I Starting blockchain sync with daemon
2025-10-25 18:20:57.308	I Retrieving current active account list
2025-10-25 18:20:57.308	I No active accounts

ok lets ctrl+c then start a screen -S monero-lws and run it after docker rm -f monero-lws.

open the port

ufw allow 8443

if everything is good i can point skylight wallet to node3.monerodevs.org:8843 (i could add a tor service for it too.. testing clearnet first)

i dont have https setup so i had to do:

docker run --name monero-lws   --network host   ghcr.io/vtnerd/monero-lws:latest   --daemon=tcp://127.0.0.1:18082   --sub=tcp://127.0.0.1:18084 --rest-server http://0.0.0.0:8443 --confirm-external-bind

which lets the skylight wallet connect to node3.monerodevs.org:8443 , so.. i assume i have to approve the account? admin?

more research .. i know there is a UI admin interface at https://github.com/CryptoGrampy/monero-lws-admin but ive never used it..

for now lets add --auto-accept-creation

so we have:

docker run --name monero-lws   --network host   ghcr.io/vtnerd/monero-lws:latest   --daemon=tcp://127.0.0.1:18082   --sub=tcp://127.0.0.1:18084 --rest-server http://0.0.0.0:8443 --confirm-external-bind --auto-accept-creation

does the docker image spuport subaddresses yet.. more research because i see 2025-10-25 18:49:01.689 I Max subaddresses exceeded from 81.205.174.188:45064 on /upsert_subaddrs

  --max-subaddresses arg (=0)           Maximum number of subaddresses per 
                                        primary account (defaults to 0)

ok so, add that flag.. (i had to bump it to 20000 to stop some max subaddress warnings

docker run --name monero-lws   --network host   ghcr.io/vtnerd/monero-lws:latest   --daemon=tcp://127.0.0.1:18082   --sub=tcp://127.0.0.1:18084 --rest-server http://0.0.0.0:8443 --confirm-external-bind --auto-accept-creation --max-subaddresses 20000

okay now i can send some piconeros ...

@plowsof
Copy link
Author

plowsof commented Nov 2, 2025

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment