From 6e0f915dd1ae981cb017b01f372680f02628c5ea Mon Sep 17 00:00:00 2001 From: lza_menace Date: Thu, 25 May 2023 22:43:55 -0700 Subject: [PATCH] add rescanning --- Makefile | 23 +++++++-- MyMonero-Dockerfile | 29 ----------- dev.compose.yaml | 82 +++++++++++++++---------------- lwsadmin/lws/config.py | 1 + lwsadmin/lws/routes/meta.py | 4 +- lwsadmin/lws/routes/wallet.py | 34 +++++-------- lwsadmin/lws/templates/index.html | 12 ++++- mymonero-entrypoint.sh | 5 -- prod.compose.yaml | 11 ++--- 9 files changed, 90 insertions(+), 111 deletions(-) delete mode 100644 MyMonero-Dockerfile delete mode 100644 mymonero-entrypoint.sh diff --git a/Makefile b/Makefile index c848755..1bbee19 100644 --- a/Makefile +++ b/Makefile @@ -3,9 +3,6 @@ init: git clone https://github.com/lalanza808/docker-monero-node git clone https://github.com/CryptoGrampy/mymonero-web-js -build: - docker-compose build - release: docker-compose -f dev.compose.yaml build docker tag monero-lw_mymonero-web lalanza808/mymonero-web:latest @@ -13,4 +10,22 @@ release: docker tag monero-lw_lwsadmin lalanza808/lwsadmin:latest docker push lalanza808/mymonero-web docker push lalanza808/lws - docker push lalanza808/lwsadmin \ No newline at end of file + docker push lalanza808/lwsadmin + +prod-up: + docker-compose -f prod.compose.yaml up -d + +prod-down: + docker-compose -f prod.compose.yaml down --remove-orphans + +prod-logs: + docker-compose -f prod.compose.yaml logs -f + +dev-up: + docker-compose -f dev.compose.yaml up -d + +dev-down: + docker-compose -f dev.compose.yaml down --remove-orphans + +dev-logs: + docker-compose -f dev.compose.yaml logs -f \ No newline at end of file diff --git a/MyMonero-Dockerfile b/MyMonero-Dockerfile deleted file mode 100644 index 2e2043d..0000000 --- a/MyMonero-Dockerfile +++ /dev/null @@ -1,29 +0,0 @@ -FROM node:16-alpine as build - -ENV NETTYPE 0 -ENV SERVER_URL http://localhost -ENV APP_NAME MyMonero-Self-Hosted - -WORKDIR /srv/mymonero - -COPY mymonero-web-js . - -RUN adduser \ - -S \ - -s /bin/ash \ - -g 'mymonero' \ - -D \ - -h /srv/mymonero \ - mymonero -RUN chown -R mymonero . -USER mymonero -RUN npm install -RUN npm run build - -COPY mymonero-entrypoint.sh . -RUN chmod +x entrypoint.sh -RUN rm .env.defaults - -EXPOSE 9110 - -CMD ["./entrypoint.sh"] \ No newline at end of file diff --git a/dev.compose.yaml b/dev.compose.yaml index ce49149..7515943 100644 --- a/dev.compose.yaml +++ b/dev.compose.yaml @@ -10,47 +10,47 @@ volumes: lwsadmin: mymonero: services: - lwsadmin: - container_name: lwsadmin - build: - context: lwsadmin - dockerfile: Dockerfile - restart: unless-stopped - depends_on: - - monero-lws - environment: - LWS_URL: http://monero-lws:8080 - LWS_ADMIN_URL: http://monero-lws:8081 - QUART_ENV: production - HOST: 0.0.0.0 - DEBUG: 0 - ports: - - 127.0.0.1:5000:5000 - volumes: - - lwsadmin:/srv/lwsadmin - user: "1000:1000" - command: - ./.venv/bin/poetry run start - <<: *log-config - mymonero-web: - container_name: mymonero-web - build: - context: mymonero-web-js - dockerfile: Dockerfile - restart: unless-stopped - environment: - MYMONERO_WEB_NETTYPE: 0 - MYMONERO_WEB_SERVER_URL: localhost:8080 - MYMONERO_WEB_APP_NAME: MyMonero-SelfHosted - depends_on: - - monero-lws - expose: - - 80/tcp - ports: - - 127.0.0.1:8000:80 - volumes: - - mymonero:/app - <<: *log-config + # lwsadmin: + # container_name: lwsadmin + # build: + # context: lwsadmin + # dockerfile: Dockerfile + # restart: unless-stopped + # depends_on: + # - monero-lws + # environment: + # LWS_URL: http://monero-lws:8080 + # LWS_ADMIN_URL: http://monero-lws:8081 + # QUART_ENV: production + # HOST: 0.0.0.0 + # DEBUG: 0 + # ports: + # - 127.0.0.1:5000:5000 + # volumes: + # - lwsadmin:/srv/lwsadmin + # user: "1000:1000" + # command: + # ./.venv/bin/poetry run start + # <<: *log-config + # mymonero-web: + # container_name: mymonero-web + # build: + # context: mymonero-web-js + # dockerfile: Dockerfile + # restart: unless-stopped + # environment: + # MYMONERO_WEB_NETTYPE: 0 + # MYMONERO_WEB_SERVER_URL: localhost:8080 + # MYMONERO_WEB_APP_NAME: MyMonero-SelfHosted + # depends_on: + # - monero-lws + # expose: + # - 80/tcp + # ports: + # - 127.0.0.1:8000:80 + # volumes: + # - mymonero:/app + # <<: *log-config monero-lws: container_name: monero-lws build: diff --git a/lwsadmin/lws/config.py b/lwsadmin/lws/config.py index b19c51e..ea25c0a 100644 --- a/lwsadmin/lws/config.py +++ b/lwsadmin/lws/config.py @@ -17,3 +17,4 @@ QUART_AUTH_DURATION = int(env.get('QUART_AUTH_DURATION', 60 * 60)) # 1 hour LWS_URL = env.get("LWS_URL", "http://127.0.0.1:8080") LWS_ADMIN_URL = env.get("LWS_ADMIN_URL", "http://127.0.0.1:8081") +# \ No newline at end of file diff --git a/lwsadmin/lws/routes/meta.py b/lwsadmin/lws/routes/meta.py index fd4cc36..54c6f81 100644 --- a/lwsadmin/lws/routes/meta.py +++ b/lwsadmin/lws/routes/meta.py @@ -10,11 +10,9 @@ from lws import config bp = Blueprint("meta", "meta") @bp.route("/") +@login_required async def index(): admin = User.select().first() - if not admin: - await flash("must setup admin first") - return redirect("/setup") lws.init(admin.view_key) accounts = lws.list_accounts() if 'hidden' in accounts: diff --git a/lwsadmin/lws/routes/wallet.py b/lwsadmin/lws/routes/wallet.py index 1273182..25e535a 100644 --- a/lwsadmin/lws/routes/wallet.py +++ b/lwsadmin/lws/routes/wallet.py @@ -39,27 +39,19 @@ async def add(): return await render_template("wallet/add.html") -# @bp.route("/wallet/") -# @login_required -# async def show(id): -# wallet = Wallet.select().where(Wallet.id == id).first() -# if not wallet: -# await flash("wallet does not exist") -# return redirect("/") -# return await render_template( -# "wallet/show.html", -# wallet=wallet -# ) - -# @bp.route("/wallet//rescan") -# @login_required -# async def rescan(id): -# wallet = Wallet.select().where(Wallet.id == id).first() -# if not wallet: -# await flash("wallet does not exist") -# return redirect("/") -# wallet.rescan() -# return redirect(f"/wallet/{id}") +@bp.route("/wallet/rescan") +@login_required +async def rescan(): + address = request.args.get('address') + height = request.args.get('height') + if not address or not height: + await flash("you need to provide both address and height") + return redirect("/") + if lws.rescan(address, int(height)): + await flash(f"rescanning {address} from block {height}") + else: + await flash("probz") + return redirect(f"/") @bp.route("/wallet/
/disable") diff --git a/lwsadmin/lws/templates/index.html b/lwsadmin/lws/templates/index.html index e4b9a61..4cf3d70 100644 --- a/lwsadmin/lws/templates/index.html +++ b/lwsadmin/lws/templates/index.html @@ -30,10 +30,18 @@ disable {% else %} enable - {% endif %} + {% endif %} {{ account['address'] | shorten }} - {{ account['scan_height'] }} + + +
+ {{ account['scan_height'] }} + + + +
+ {% endfor %} {% endfor %} diff --git a/mymonero-entrypoint.sh b/mymonero-entrypoint.sh deleted file mode 100644 index b88a333..0000000 --- a/mymonero-entrypoint.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -env > .env.defaults - -node server.js \ No newline at end of file diff --git a/prod.compose.yaml b/prod.compose.yaml index 1c1c47c..cce6bd4 100644 --- a/prod.compose.yaml +++ b/prod.compose.yaml @@ -17,13 +17,12 @@ services: depends_on: - monero-lws environment: - LWS_URL: http://monero-lws:8080 - LWS_ADMIN_URL: http://monero-lws:8081 + LWS_URL: http://127.0.0.1:8080 + LWS_ADMIN_URL: http://127.0.0.1:8081 QUART_ENV: production - HOST: 0.0.0.0 + HOST: 127.0.0.1 DEBUG: 0 - ports: - - 127.0.0.1:5000:5000 + network_mode: host volumes: - lwsadmin:/srv/lwsadmin user: "1000:1000" @@ -52,5 +51,5 @@ services: volumes: - lws:/home/monero-lws/.bitmonero/light_wallet_server command: - --scan-threads 4 --rest-threads 4 --rest-server http://127.0.0.1:8080/lws --admin-rest-server http://127.0.0.1:8081 --log-level 1 --daemon=tcp://127.0.0.1:18082 --sub=tcp://127.0.0.1:18083 --access-control-origin "${DOMAIN}" + --scan-threads 4 --rest-threads 2 --rest-server http://127.0.0.1:8080/lws --admin-rest-server http://127.0.0.1:8081 --log-level 0 --daemon=tcp://127.0.0.1:18082 --sub=tcp://127.0.0.1:18085 --access-control-origin "${DOMAIN}" <<: *log-config \ No newline at end of file