From 6e76d3b5aceaed2c281574e967b69d6b71820dff Mon Sep 17 00:00:00 2001 From: Seth For Privacy Date: Mon, 12 Sep 2022 13:40:34 -0400 Subject: [PATCH 1/2] Add MoneroBlock --- apps/moneroblock/config.json | 25 +++++++++++++++++++++++ apps/moneroblock/docker-compose.arm.yml | 22 ++++++++++++++++++++ apps/moneroblock/docker-compose.yml | 22 ++++++++++++++++++++ apps/moneroblock/metadata/description.md | 24 ++++++++++++++++++++++ apps/moneroblock/metadata/logo.jpg | Bin 0 -> 11095 bytes 5 files changed, 93 insertions(+) create mode 100644 apps/moneroblock/config.json create mode 100644 apps/moneroblock/docker-compose.arm.yml create mode 100644 apps/moneroblock/docker-compose.yml create mode 100644 apps/moneroblock/metadata/description.md create mode 100644 apps/moneroblock/metadata/logo.jpg diff --git a/apps/moneroblock/config.json b/apps/moneroblock/config.json new file mode 100644 index 00000000..dadea987 --- /dev/null +++ b/apps/moneroblock/config.json @@ -0,0 +1,25 @@ +{ + "$schema": "../schema.json", + "name": "moneroblock", + "available": true, + "exposable": true, + "port": 31312, + "id": "moneroblock", + "tipi_version": 1, + "version": "v0.1.1", + "categories": ["utilities"], + "description": "MoneroBlock is a trustless block explorer for the Monero payment network.", + "short_desc": "Decentralized and trustless Monero block explorer", + "author": "duggavo", + "source": "https://github.com/duggavo/MoneroBlock", + "form_fields": [ + { + "type": "text", + "label": "Monero Daemon Address in format node.host.name:port, i.e. node.sethforprivacy.com:18089", + "max": 100, + "min": 10, + "required": false, + "env_variable": "DAEMON_ADDRESS" + } + ] +} diff --git a/apps/moneroblock/docker-compose.arm.yml b/apps/moneroblock/docker-compose.arm.yml new file mode 100644 index 00000000..6a6129e9 --- /dev/null +++ b/apps/moneroblock/docker-compose.arm.yml @@ -0,0 +1,22 @@ +version: "3.7" +services: + moneroblock: + image: sethsimmons/moneroblock:latest + restart: unless-stopped + container_name: moneroblock + ports: + - ${APP_PORT}:31312 + command: + - "--daemon" + - "${DAEMON_ADDRESS:-node.sethforprivacy.com:18089}" + dns: + - ${DNS_IP} + networks: + - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.moneroblock.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.moneroblock.entrypoints: websecure + traefik.http.routers.moneroblock.service: moneroblock + traefik.http.routers.moneroblock.tls.certresolver: myresolver + traefik.http.services.moneroblock.loadbalancer.server.port: 31312 diff --git a/apps/moneroblock/docker-compose.yml b/apps/moneroblock/docker-compose.yml new file mode 100644 index 00000000..6a6129e9 --- /dev/null +++ b/apps/moneroblock/docker-compose.yml @@ -0,0 +1,22 @@ +version: "3.7" +services: + moneroblock: + image: sethsimmons/moneroblock:latest + restart: unless-stopped + container_name: moneroblock + ports: + - ${APP_PORT}:31312 + command: + - "--daemon" + - "${DAEMON_ADDRESS:-node.sethforprivacy.com:18089}" + dns: + - ${DNS_IP} + networks: + - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.moneroblock.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.moneroblock.entrypoints: websecure + traefik.http.routers.moneroblock.service: moneroblock + traefik.http.routers.moneroblock.tls.certresolver: myresolver + traefik.http.services.moneroblock.loadbalancer.server.port: 31312 diff --git a/apps/moneroblock/metadata/description.md b/apps/moneroblock/metadata/description.md new file mode 100644 index 00000000..c9c8153b --- /dev/null +++ b/apps/moneroblock/metadata/description.md @@ -0,0 +1,24 @@ +# MoneroBlock + +MoneroBlock is a trustless block explorer for the Monero payment network. + +## Running MoneroBlock + +Once MoneroBlock is started open [127.0.0.1:31312](http://127.0.0.1:31312/) with your browser. + +### Running with a remote daemon + +Specify your own node when installing MoneroBlock using the format `node.host.name:port`, i.e. `node.sethforprivacy.com:18089`. + +## Troubleshooting + +If you have issues running this, please open an issue against the following repository: + +https://github.com/sethforprivacy/moneroblock-docker/issues + +## Donate + +If you wish to support the MoneroBlock development please donate any amount: + +Monero: `892HHTyDg5mJm5eWJWZ8L1ZMYnnWExciQFFkpsgLh1DfVUXfUFj6z1X2jDD2ZRQLiwWYskeyNkrtpAHse4M3G29uBfiYgVL` +Wownero: `WW439rW1B6p4pA9oca1Aip6h2dneUCHTL9qdn5fstfkB1DzokvrU2hYGASDUcyfaa9gv5kXS82TUhRALMGJGFmBA26jAz3qM5ss` diff --git a/apps/moneroblock/metadata/logo.jpg b/apps/moneroblock/metadata/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..70789afaf7f901f13c06bbdd4788cacedd023b7c GIT binary patch literal 11095 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 Date: Sat, 24 Sep 2022 15:22:44 +0200 Subject: [PATCH 2/2] chore(moneroblock): cleanup config --- apps/moneroblock/config.json | 2 +- apps/moneroblock/docker-compose.arm.yml | 22 ---------------------- apps/moneroblock/docker-compose.yml | 4 +--- apps/moneroblock/metadata/logo.jpg | Bin 11095 -> 21529 bytes 4 files changed, 2 insertions(+), 26 deletions(-) delete mode 100644 apps/moneroblock/docker-compose.arm.yml diff --git a/apps/moneroblock/config.json b/apps/moneroblock/config.json index dadea987..d11d8764 100644 --- a/apps/moneroblock/config.json +++ b/apps/moneroblock/config.json @@ -1,6 +1,6 @@ { "$schema": "../schema.json", - "name": "moneroblock", + "name": "Moneroblock", "available": true, "exposable": true, "port": 31312, diff --git a/apps/moneroblock/docker-compose.arm.yml b/apps/moneroblock/docker-compose.arm.yml deleted file mode 100644 index 6a6129e9..00000000 --- a/apps/moneroblock/docker-compose.arm.yml +++ /dev/null @@ -1,22 +0,0 @@ -version: "3.7" -services: - moneroblock: - image: sethsimmons/moneroblock:latest - restart: unless-stopped - container_name: moneroblock - ports: - - ${APP_PORT}:31312 - command: - - "--daemon" - - "${DAEMON_ADDRESS:-node.sethforprivacy.com:18089}" - dns: - - ${DNS_IP} - networks: - - tipi_main_network - labels: - traefik.enable: ${APP_EXPOSED} - traefik.http.routers.moneroblock.rule: Host(`${APP_DOMAIN}`) - traefik.http.routers.moneroblock.entrypoints: websecure - traefik.http.routers.moneroblock.service: moneroblock - traefik.http.routers.moneroblock.tls.certresolver: myresolver - traefik.http.services.moneroblock.loadbalancer.server.port: 31312 diff --git a/apps/moneroblock/docker-compose.yml b/apps/moneroblock/docker-compose.yml index 6a6129e9..a0879cf1 100644 --- a/apps/moneroblock/docker-compose.yml +++ b/apps/moneroblock/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: moneroblock: - image: sethsimmons/moneroblock:latest + image: sethsimmons/moneroblock:v0.1.1 restart: unless-stopped container_name: moneroblock ports: @@ -9,8 +9,6 @@ services: command: - "--daemon" - "${DAEMON_ADDRESS:-node.sethforprivacy.com:18089}" - dns: - - ${DNS_IP} networks: - tipi_main_network labels: diff --git a/apps/moneroblock/metadata/logo.jpg b/apps/moneroblock/metadata/logo.jpg index 70789afaf7f901f13c06bbdd4788cacedd023b7c..75b027114deeae286c358bacf1df07e97e8c8c62 100644 GIT binary patch literal 21529 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