From f7eaf8fd624ece18ed261ad384e149a2d6598373 Mon Sep 17 00:00:00 2001 From: lza_menace Date: Wed, 24 May 2023 23:31:38 -0700 Subject: [PATCH] adding mymonero-web --- .dockerignore | 10 ++++++++ .gitignore | 1 + Makefile | 1 + MyMonero-Dockerfile | 29 +++++++++++++++++++++++ README.md | 9 ++++--- docker-compose.yaml | 54 +++++++++++++++++++++++++++++++----------- mymonero-entrypoint.sh | 5 ++++ 7 files changed, 92 insertions(+), 17 deletions(-) create mode 100644 .dockerignore create mode 100644 MyMonero-Dockerfile create mode 100644 mymonero-entrypoint.sh diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..b14af96 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,10 @@ +docker-monero-node +lws-web +monero-lws +.env +.git +.gitignore +docker-compose.yaml +env.example +Makefile +README.md \ No newline at end of file diff --git a/.gitignore b/.gitignore index 5678acf..b6ad9f4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ monero-lws docker-monero-node +mymonero-web-js .env \ No newline at end of file diff --git a/Makefile b/Makefile index 70e597e..9125474 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,7 @@ init: git clone --recursive --branch develop https://github.com/vtnerd/monero-lws git clone https://github.com/lalanza808/docker-monero-node + git clone https://github.com/CryptoGrampy/mymonero-web-js build: docker-compose build diff --git a/MyMonero-Dockerfile b/MyMonero-Dockerfile new file mode 100644 index 0000000..2e2043d --- /dev/null +++ b/MyMonero-Dockerfile @@ -0,0 +1,29 @@ +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/README.md b/README.md index 33a76a1..00ceae2 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,12 @@ # monero-lw -Monero lightwallet project. +Monero lightwallet project. Packages the following services in one package: -Runs a private `monero-lws` service in the background with an API layer above that for authentication. +* `monero-lws` by [vtnerd](https://github.com/vtnerd/monero-lws) - scans your wallet's view keys in the background +* `lwsadmin` by [lza_menace](https://lzahq.tech) - backend CRUD app for managing the LWS backend +* `monerod` by [The Monero Project](https://github.com/monero-project/monero) - node for syncing Monero blockchain transactions +* `mymonero-web` by [MyMonero](https://mymonero.com) but forked and cleaned up for personal use by [CryptoGrampy](https://github.com/CryptoGrampy/mymonero-web-js) - the web wallet client -Will be adding client side application to tie the whole thing together. ## Setup @@ -27,6 +29,7 @@ git clone https://git.cloud.lzahq.tech/nerodev/monero-lw && cd monero-lw # 3 git clone --recursive --branch develop https://github.com/vtnerd/monero-lws git clone https://github.com/lalanza808/docker-monero-node +git clone https://github.com/CryptoGrampy/mymonero-web-js # 4 docker-compose build diff --git a/docker-compose.yaml b/docker-compose.yaml index dca7c1e..dd523fc 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -8,28 +8,48 @@ x-log-config: &log-config volumes: lws: lws-web: + mymonero: services: - lws-web: - container_name: lws-web + # lws-web: + # container_name: lws-web + # build: + # context: lws-web + # 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: + # - lws-web:/srv/lws-web + # user: "1000:1000" + # command: + # ./.venv/bin/poetry run start + # <<: *log-config + mymonero-web: + container_name: mymonero-web build: - context: lws-web + 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 - environment: - LWS_URL: http://monero-lws:8080 - LWS_ADMIN_URL: http://monero-lws:8081 - QUART_ENV: production - HOST: 0.0.0.0 - DEBUG: 0 + expose: + - 80/tcp ports: - - 127.0.0.1:5000:5000 + - 127.0.0.1:8000:80 volumes: - - lws-web:/srv/lws-web - user: "1000:1000" - command: - ./.venv/bin/poetry run start + - mymonero:/app <<: *log-config monero-lws: container_name: monero-lws @@ -62,6 +82,12 @@ services: restart: unless-stopped volumes: - ~/.bitmonero:/srv/monerod + expose: + - 18080/tcp + - 18081/tcp + - 18082/tcp + - 18083/tcp + - 18089/tcp command: monerod --data-dir /srv/monerod/ --p2p-bind-ip=0.0.0.0 --p2p-bind-port=18080 --rpc-bind-ip=0.0.0.0 --rpc-bind-port=18081 --zmq-rpc-bind-ip=0.0.0.0 --zmq-rpc-bind-port=18082 --zmq-pub tcp://0.0.0.0:18083 --rpc-restricted-bind-ip=0.0.0.0 --rpc-restricted-bind-port=18089 --non-interactive --confirm-external-bind --public-node <<: *log-config diff --git a/mymonero-entrypoint.sh b/mymonero-entrypoint.sh new file mode 100644 index 0000000..b88a333 --- /dev/null +++ b/mymonero-entrypoint.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +env > .env.defaults + +node server.js \ No newline at end of file