robosats/nodeapp
2022-10-25 11:04:12 -07:00
..
assets Fix all files with pre-commit 2022-10-25 11:04:12 -07:00
nginx Fix all files with pre-commit 2022-10-25 11:04:12 -07:00
.dockerignore Add nginx to bypass websockets on node client app 2022-08-23 11:01:19 -07:00
docker-compose.yml Add simplified nodeapp / frontend only dev environment setup 2022-09-13 06:34:33 -07:00
Dockerfile Add nginx to bypass websockets on node client app 2022-08-23 11:01:19 -07:00
README.md Increase websocket connection attemp timeout. Fix typos. 2022-08-23 11:57:57 -07:00
robosats-client.sh Add nginx to bypass websockets on node client app 2022-08-23 11:01:19 -07:00
static Create RoboSats docker client app for soverign nodes (#216) 2022-08-22 16:51:23 +00:00

RoboSats client app for sovereign nodes

RoboSats app for soverign nodes ( Umbrel, Citadel, Start9 ...). This app serves the RoboSats frontend app directly from your own node and redirects all API requests to RoboSats P2P market coordinator through your node's TOR proxy.

At the moment it has no special integration with your local lightning wallet (e.g. LND). This can be achieved easily by installing a WebLN compatible extension in your browser (e.g. getAlby).

How it works

The container launches two processes: 1) A socat that will expose RoboSats coordinator API over HTTP on localhost:81 using the docker orchestration TOR socks proxy and 2) a http-server that serves all static files (including the Javascript client app) directly from your own node (should reduce loading times by a lot). Every request that cannot be served by your node http-server will be forwarded to the RoboSats coordinator (that is: API calls and Robot avatar images). Nginx is used to bypass http-server for websockets directly into the socat bridge as http-server does not support websockets connections.

Why host your own RoboSats client

Advantages over a full over-the-internet RoboSats experience:

  1. Dramatically faster load times.
  2. Safer: you control what RoboSats client app you run.
  3. Access RoboSats safely from any browser / device. No need to use TOR if you are on your local network or using VPN: your node backend handles the torification needed for anonymization.
  4. Allows control over what P2P market coordinator you connect to (defaults to robosats6tkf3eva7x2voqso3a5wcorsnw34jveyxfqi2fu7oyheasid.onion)

Future upgrades

  1. Increase availability by procesing API requests via I2P when TOR is not available.