From 6d75833ff7e3d1586581877dca66be6cefb1198c Mon Sep 17 00:00:00 2001 From: Reckless_Satoshi Date: Tue, 9 Jan 2024 12:37:40 +0000 Subject: [PATCH 1/7] Decrease sample max trade size --- compose/env-sample/lndtn/robosats.env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compose/env-sample/lndtn/robosats.env b/compose/env-sample/lndtn/robosats.env index 03c0ece..0c85c5c 100644 --- a/compose/env-sample/lndtn/robosats.env +++ b/compose/env-sample/lndtn/robosats.env @@ -108,7 +108,7 @@ MAX_PUBLIC_ORDERS = 100 # Trade limits in satoshis MIN_TRADE = 20000 -MAX_TRADE = 5000000 +MAX_TRADE = 500000 # For CLTV_expiry calculation # Assume 8 min/block assumed From c47647d7e98987107cbcdbc08737decce59552e5 Mon Sep 17 00:00:00 2001 From: Reckless_Satoshi Date: Tue, 9 Jan 2024 14:34:19 +0000 Subject: [PATCH 2/7] Update max_order_size and min_order env variable names --- compose/env-sample/lndtn/robosats.env | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/compose/env-sample/lndtn/robosats.env b/compose/env-sample/lndtn/robosats.env index 0c85c5c..da9517a 100644 --- a/compose/env-sample/lndtn/robosats.env +++ b/compose/env-sample/lndtn/robosats.env @@ -106,9 +106,11 @@ DEVFUND = 0.2 # Coordinator activity limits MAX_PUBLIC_ORDERS = 100 -# Trade limits in satoshis -MIN_TRADE = 20000 -MAX_TRADE = 500000 +# Coordinator Order size limits in Satoshi +# Minimum order size (must be bigger than DB constrain in /robosats/settings.py MIN_TRADE, currently 20_000 Sats) +MIN_ORDER_SIZE = 20000 +# Minimum order size (must be smaller than DB constrain in /robosats/settings.py MAX_TRADE, currently 5_000_000 Sats) +MAX_ORDER_SIZE = 500000 # For CLTV_expiry calculation # Assume 8 min/block assumed From c8006bf243a8d5e54784d509fbb2cf2e6a9ac2e5 Mon Sep 17 00:00:00 2001 From: Reckless_Satoshi Date: Thu, 11 Jan 2024 12:17:34 +0000 Subject: [PATCH 3/7] Add sample service for simple web federated client --- web/.gitignore | 0 web/docker-compose.yml | 23 +++++++++++++++++++++++ web/readme.md | 7 +++++++ web/torrc | 17 +++++++++++++++++ 4 files changed, 47 insertions(+) create mode 100644 web/.gitignore create mode 100644 web/docker-compose.yml create mode 100644 web/readme.md create mode 100644 web/torrc diff --git a/web/.gitignore b/web/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/web/docker-compose.yml b/web/docker-compose.yml new file mode 100644 index 0000000..0cd9138 --- /dev/null +++ b/web/docker-compose.yml @@ -0,0 +1,23 @@ +version: '3.9' +services: + robosats: + build: . + image: recksato/robosats-web:latest + container_name: robosats + restart: always + environment: + TOR_PROXY_IP: 127.0.0.1 + TOR_PROXY_PORT: 9050 + network_mode: service:tor + tor: + build: ../docker/tor + container_name: tor + restart: always + environment: + LOCAL_USER_ID: 1000 + LOCAL_GROUP_ID: 1000 + ports: + - 80:80 + volumes: + - ./tor:/var/lib/tor + - ./torrc:/etc/tor/torrc \ No newline at end of file diff --git a/web/readme.md b/web/readme.md new file mode 100644 index 0000000..c5258a4 --- /dev/null +++ b/web/readme.md @@ -0,0 +1,7 @@ +# Host a RoboSat web client + +This docker app is intended for hosting a web client for public use. Example the docker nginx server bundled with all static is built in https://github.com/RoboSats/robosats/tree/main/web + +Works similarly to `/nodeapp`, but simpler. It does not use the selfhosted flags nor torify connections to coordinators. The browser itself must support Tor. + +Drop your service vanity key into a new folder named `tor`, make sure the folder is named `roboweb` or edit the `torrc` accordingly. \ No newline at end of file diff --git a/web/torrc b/web/torrc new file mode 100644 index 0000000..27d80d2 --- /dev/null +++ b/web/torrc @@ -0,0 +1,17 @@ +Log notice file /var/log/tor/notices.log + +## The directory for keeping all the keys/etc. By default, we store +## things in $HOME/.tor on Unix, and in Application Data\tor on Windows. +DataDirectory /var/lib/tor +DataDirectoryGroupReadable 1 + +## Enable ControlPort +#ControlPort 9051 +#CookieAuthentication 1 +#CookieAuthFileGroupReadable 1 +#CookieAuthFile /var/lib/tor/control_auth_cookie + +# Robosats LND Testnet Onion Service +HiddenServiceDir /var/lib/tor/roboweb/ +HiddenServiceVersion 3 +HiddenServicePort 80 127.0.0.1:80 \ No newline at end of file From bd6e4eee356f2f07eed7238863f6a00d06bc2603 Mon Sep 17 00:00:00 2001 From: Reckless_Satoshi Date: Thu, 11 Jan 2024 13:26:16 +0000 Subject: [PATCH 4/7] Fix .gitignore --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 25c2fc6..1e402ed 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -compose/env \ No newline at end of file +/compose/env +/web/tor \ No newline at end of file From a0d515a3fa36a9ecba837df82ed0afcb7317a1ad Mon Sep 17 00:00:00 2001 From: Reckless_Satoshi Date: Thu, 11 Jan 2024 14:59:12 +0000 Subject: [PATCH 5/7] Fix relative path tor --- web/docker-compose.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/web/docker-compose.yml b/web/docker-compose.yml index 0cd9138..fddfdb2 100644 --- a/web/docker-compose.yml +++ b/web/docker-compose.yml @@ -5,12 +5,9 @@ services: image: recksato/robosats-web:latest container_name: robosats restart: always - environment: - TOR_PROXY_IP: 127.0.0.1 - TOR_PROXY_PORT: 9050 network_mode: service:tor tor: - build: ../docker/tor + build: ../compose/tor container_name: tor restart: always environment: From 0dd35b55cfc93dcca1ae03f4ed588aa2664b4c9d Mon Sep 17 00:00:00 2001 From: Reckless_Satoshi Date: Fri, 12 Jan 2024 12:09:04 +0000 Subject: [PATCH 6/7] Add serve_misc to web deploy --- web/docker-compose.yml | 2 ++ web/serve_misc/readme.md | 1 + 2 files changed, 3 insertions(+) create mode 100644 web/serve_misc/readme.md diff --git a/web/docker-compose.yml b/web/docker-compose.yml index fddfdb2..5fa6a58 100644 --- a/web/docker-compose.yml +++ b/web/docker-compose.yml @@ -6,6 +6,8 @@ services: container_name: robosats restart: always network_mode: service:tor + volumes: + - ./serve_misc:/serve_misc/ tor: build: ../compose/tor container_name: tor diff --git a/web/serve_misc/readme.md b/web/serve_misc/readme.md new file mode 100644 index 0000000..db003d9 --- /dev/null +++ b/web/serve_misc/readme.md @@ -0,0 +1 @@ +If you set up a clearnetonion.eu.org clearnet tunnel, you can drop in this folder you clearnetonion_verify_*.txt file. \ No newline at end of file From 16f928a602981d1a80de8193ec6ef1d9aa610c59 Mon Sep 17 00:00:00 2001 From: Reckless_Satoshi Date: Fri, 12 Jan 2024 13:07:43 +0000 Subject: [PATCH 7/7] Add custom nginx.conf --- web/custom_nginx.conf | 60 ++++++++++++++++++++++++++++++++++++++++++ web/docker-compose.yml | 1 + 2 files changed, 61 insertions(+) create mode 100644 web/custom_nginx.conf diff --git a/web/custom_nginx.conf b/web/custom_nginx.conf new file mode 100644 index 0000000..6aa227d --- /dev/null +++ b/web/custom_nginx.conf @@ -0,0 +1,60 @@ +daemon off; + +user nginx; +worker_processes auto; + +error_log /var/log/nginx/error.log notice; +pid /var/run/nginx.pid; + +events { + worker_connections 1024; +} + +http { + + include /etc/nginx/mime.types; + default_type application/octet-stream; + large_client_header_buffers 4 64K; + + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + + access_log /dev/stdout main; + error_log /dev/stderr warn; + + sendfile on; + keepalive_timeout 65; + + server { + + listen 80; + server_name robosats_web_client; + + # Add your custom verify files by editing location and alias + location /clearnetonion_verify { + alias /serve_misc/; + } + + location / { + root /usr/src/robosats; + try_files $uri $uri/ /basic.html; + index basic.html; + } + + location /pro { + root /usr/src/robosats; + try_files $uri $uri/ /pro.html; + index pro.html; + } + + location /static/ { + alias /usr/src/robosats/static/; + autoindex on; + } + + location = /favicon.ico { + alias /usr/src/robosats/static/assets/images/favicon-96x96.png; + } + } +} \ No newline at end of file diff --git a/web/docker-compose.yml b/web/docker-compose.yml index 5fa6a58..048c7e5 100644 --- a/web/docker-compose.yml +++ b/web/docker-compose.yml @@ -8,6 +8,7 @@ services: network_mode: service:tor volumes: - ./serve_misc:/serve_misc/ + - ./custom_nginx.conf:/etc/nginx/nginx.conf tor: build: ../compose/tor container_name: tor