From 6e76d3b5aceaed2c281574e967b69d6b71820dff Mon Sep 17 00:00:00 2001 From: Seth For Privacy Date: Mon, 12 Sep 2022 13:40:34 -0400 Subject: [PATCH] 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 zcmbVx2Uru|*XGc>NbjJ4pj7FgKt!5|fFRN#(o3Xw2!tXCqPL;Boly_qyRvXoe0p7a#oV+yd?jRt7O72DgFZk zN`DQt9%vgFkn#u40j{n-fgZj=#2rBOJ}LJlo%mf+khu=1-Zn6z{Og}2|KKbCz>AXt zX>*xCBjsic-HUDf?PwyJoZCQK8+_l)M9<)!?mtZ?r*-u6d;GVuw@*-jnf~odR@OF` zXf^;kfRS{N18k1Yfqq)|@8A3D^FQ)`{QqZyoBoFxFd_Zdm%&8MzzkVc{h|ef$Bp*7 z_Wv~d-vfFV*Fa~|B?3vWJNpF$k-ABWgztw2`TfOE5@rt|HHw6v{l)J8!f*a!r+?x1 z|JazDX_IU|k?=)l4@VagUL;{Dr~gv!{$H^71#gaL9EG71(lVm}~6@9I(i0@LCZyeoQ#5koRWfy>hA<3 ziy~bIC|RgjFUx6Bvza>52>Y|k$7a2v6}jEe!(sLnBdXvO5JyMP$;HjXdqqtA>NN>P zC1n*=wHw+xx_bI|4DLQKe`sMzqUY@5>gMj@=@l3h9189kICoFJ}Kq?BBc=0BwN$AE6*8 zr=X&sprE3rA_+Au^MVaUNi#AR|pC3KjqaoN1kPM9YM&tXgijtP7=pF8Gu+VlQOOdmsy~%z{hyS03c-Jj6V^i#hCK|;}1Xf?IVD1xv3>YQIqXwP;qY5rEx@r8Sc>&Z~JAL2&CU~*N zj;;Nn6A*Vt@9TTlI>Z*LIdg{rOEWm{TwvVdU;o>0mqxO36M3*Kv5pvq_^`WA6ar__B%Tq`%PY;5 zJ5;B4tO%-jc)g7mFaJsKVV^EXLRZJ}vr8^F(Yij&j}O4zQv^5>=n;l}-~WR+rPzX> zT($gTe|kT962^pb6-q*3N}#v04WI6bLZVcRkv(nQZ44bw?g_g5!y?ePv|FF5KL{C^ zfPjd6Pr59^PW6cQ3$LD{ZijU5WiiiTyI8z4`Y#Ewkrf)n>P#Isf z*3vrZqptSSi+7;#qv3)v4vA2=O?zBk=2Ujm%0-Ylf}n)=Bmz`**sAVnA59s&%H2pl zZ)I!6(S zw}k51Ee{;A6z2?v*o*_?uhN?Qc(C3Cg7q`!l#lP_QrGN1X(M?JbVK>{XJ70~7P9HF z;2KoZ%1$^85k2(od=lRLgj18P8Qk0kxss!=(WwwsDwe@xy=b8RDp!PYq1)^NUkr2S zTg1i;x{|<&KrdI;nK1W^(|Fo&Ca3*oFKi!;iV}|B@1QMDIi6MxR| z0IOm$Ejvt_f=9AVnGEi04 zHosX!m5&tkQgL@KaPY^-KM)5(5#K;b@QY9(tYuGxe!nc4m+990g*Ng7TPQdTjqbbg9HAC#L$F<}uZ18a^?tnPlR z{Pevj6>=Qf>U<*df$=$2T2*@3JWJImcXK)W4%RzpCsMGE2ryY=xVXIeAM1aLU zGXeJ4H@VRD4-AvDF#lUwO8*6?9A!^rj>~c2_DJBC7fxd^JMA~MktJf%iSRwLGl%+*q-!btdxB{&vO{k9U(I ztUCCfK|d{lf;*Qo`dPpwno?(PqGde6Y)Y9I=DZrD6G{>O5Pr95wq)n`9#e)Ki_xZO zKa~zEw+G6+Y-D@tSf!14)nw9UuBP``RXl5qW<;stya-d+JwhIg1vc9gP6W!m!MbP@ z*7fyVSA2C~?zPFL>{LitrLTz?bSObxJl|056DHVmu=bk0?(j8lF+}z9lIiIKT^Gm+ z?)h3e??FHBPVc;xm7Z&%-mhv6;Cpr$5MTfVKn@NDg^=*4;@#Oo6rP;Zc@lT5eYFj5 zW{kB6n1Ys$&s$C^*|13aoU3Oc<>k`ZmcE~txQZI^E3|l6p}P{f9y-t2d}xRvmCoTnuf{_h5PvY;O9U4QIl#BvbWKtyagFJ=ig`(PQy-~ z4ST#PS&v>enUef7yZILJTvH`_Vj9kL=m`~Hi@bWM;RRHLi;3DU=zp>t*JLDw;775L{^81=vd#OR%4vwG zpv&*cRfkXC-s|V#Cue_jk`)8llki_A&ydNpy{2Z7ZKJEwzIEbRv)$tUlbvwm6J+(b zTSH0$Z5u?aEK)PIzFlTdw+h$7ZVL8^hQf$nPG`>Pi->@j9G2_sjE@KyPv_#5PB{q5 zL?8iy0pkiVZ%ldW(U=lsnOC*^#`?WBm8|O1wp91-?NG!r7%$;VcrnxuKKkQ(cGJdk z!-T*hOzYDvOfW;f*Ag}RHSO`M?{aP>X({%wlVO>+VW;<0J_u10{J$*!nr}@bT#;^x zeQ-boylUf?XI~!P*{yi4feajk)Skt6lUmcOzXqR|MeBZY-09@QjQ5-B&Hj)%ym@Us z?dSRX0aXIzyGc3`V0ObBVN(ZDOkx(MYjqB|LHQ*IZa3G2v%aC0*gs0A;it?{6(aD& z@|-RlJ2TWO7aO=9#W$d!hwp(HGATo>CQs0=#pjA-SYHCG__>MfT_W&Kvx*43PVj*B zfT6IOurge0J0@zffAgI2+qSp#>+umpDC_cF{P{un$eSbDvKIIM9+Xs*3S6TZAj`b? zALWF{t;le7&^jNt^p*DvIjLq1W{F}VufjNZ6h^(Feu*(43(#umN+XFeA`#UDidVk_ z1-ZV(rw*PxtZ#U`#btpVQ;)x&Y{E`ftUUWVMfX-}%pEDc4JG^>DSB`}D}^#)4A-NR z(4eFU=nduE^;908ig&GA{1=xO3>w{^(u_P6?sRvGq3{ujkHv{^YmsW{Sc0~(U6t~Zn9jddGRPd2LrdR@jWxFMW05xT12E#~esYe*(v`pS6C~uMi>tnUwJs z<12%2TYNKQy-~`;*uzlu(Us~>4`Rueg1|N%4Ul|GK^<2?>^k0u$Ld^Y4Smxmhlv{} z)8UBo1@~wVHe+j~Ij}Tf}DOizlsz2&7(F zbTnDzp4mzwa0s2>dw_O7>w*2jx`K0sFgoyKnP^QS(BKdI)5r@DPR<&k{-IcA+&erR zE$xQ3O}6Y;nKl(zD0sXr2C?E$@sneR#D3vD1HeMsI7Ux{nN`8-i zaEZ_F4%7a98d4CrO}8Go2b|BM7+R#2Ep;Yal7k9vtr}dYD!N^(Mj8D_S*-`ixTSrOt5c#avyAChex?ea`YhSVM=Sfzf;bfpD z!|cVWt6`6N+BJ}=b)z+6Syid3*|dAY@8hhU3Ln~0h#FCU_~7FTmAlL($V9r&6p2_I zo(30yLDpd+*Y)SUp*I7=<}=_`wzp@5-15xL3wd5=%Cmc?eEe9e%}MzvPK^lQufcXU zS2O1$hHl~QF&Q_X60W^k7BJp8-(sV%U#2bO){*NLwL%-XQog4u=>A2|07Q`ngi;rK zj;IdfLWBEk=L!v(nO8hd(qA`mvXmHzWw_d%O^r1oY4{2<Ml7 z9+R!N9Gs~AOVto&q}JYqGR$=IL78W|uZ9&)ZP!POEG`(iv&YmZ7dT}zgeR+h$lb`z zKOJs}y_^tUS{E#kl!=h7pd9k88Wy42x_!@J(0`nRaJar@T*_qV;|bfT{ImD9Vc2}= z{oW|^+4~d4^8pn5hjCm*8f>R)hzN+xq~H(MGBY$U{8pAm8(P7_mc5%t8`1L?$#Ghi zcFJ^oSrgB~DS1z8&iM@2+|S4l;ip(%A~4Lc|8s{5yFZTJ-#oEMtr&K#*!-s6YZzA% zZl5D7@uV71_~159ljhVdo4W7A{wglluJz)QtB-k6=uCZ~XWcGJdoN5xb6rZ$kzNhS zA#s5)HlR0u)7Cz?v85Cqahi{d!nYFvPUscs!7^5@noZ+(_EOHYYx!~`Wq9q?xVF`* zofN{C{}yO^oDVo~Pb%&)Le8(XYYQNo)LCr5J4ejZQK%kLy^(}JRKkX4!oD}*Q_lw( z#?K_ZcGipg*izQEn^@BDizS5VDo|n5aj~GF>-&2`Y#aE;%$Ri!*STNcyUp778*s3l z2E?*89^ALgpODg1wK%5!em!*VA$b+q>B#b;D>Dd2iB508>NDO}MS%3`G^%*Olos^xW?M<_EhP?8dC zzuLrO!Aj9%aDircLfzZ2$N>X!oMzdj60xVD&1_Wj133XBTkQVXwEX5SP`dilv#L$z&M4ZjP+B_J#NcL7<|5R3HC>%>8~^If?C*WWm4(6_ zx1ChSVneabXrDI6(kRH`&;XoK{W2OwZ5JkHugPGjl3d=F!Xf15cRgE=`nvi0D;|D9 zI>a!;f^^{OUjL7jtxLWHB^ZBo-I1$R@tq{lQr7h-zbMEqiYt01ngT|#G`?m@qW&aq zi#mf=khNmj(vD8x^Zh5{s%8PVxPkBC%iL~rZVXHruZo(h?GLW`UU4gacof=Qv=vb* z^S!OxF?FwZyF5vwR=e(Ekf~2iwdDaR+`mBg>4bxm9)E}MTKfc>vu_o(W{mi5o(Dk=X1M15kydb3P zO6RS#^oFasEVhAaG}!^w%ee>n|7)!7JY=P9NBlSLeFJO^Ov0J)5;@7hT{3)hmZG4AoRRe+x$0A#$pUpf%c9k;S*r07uLbh~d zm>00R6tNV%rnT$0td8TOg#JF|JRgQN4Q(IS<5%qQd}w>$eie|XFY{L4!)z`?NC!2m z0W0l}^i$UZE-8kpUl+9Mgt+ivJ1l5t{+&mu%#^wyhM*RwS7exKlDo?ek&kCf*ZYhm z51_kReLOUl!94C4mWl@TW+uU#O@?4pVclEPAR4Il^zM%@qAd+YMySMV($K>^{Z^Ia zeZ783{eYA=6wL?En9cE6((9+=tQ6$|N-3NfSmFFFDDv$vJ@TW<_04<>f1ABH_89p$ z(}Ai|4RI@Kqb{p%-ESr|0jLHBvAyDds$yerZxg2K!BxoKY9eJAhHUj4=09kzkh_@k zRA7`FNBzBC6_I~_3Hs>lb*D2n6P?*dn*R~e9js6_BhC4Kk1zOuJ3hXM+B~ewD~Y}0Mn;F22;-sTOX+61g5=<7Vpd=|%KyJnA7aHP%NI6o-WS&^pjJk$Xn zh-SXH)gEVKBu@ftrPq>EM@W7`%$S#=Pk}9 zt)2L*&oCMXOP&#>U5;2ab)Kl|(YJGA3AnL|A@X5SQuys6b5Cwi^>$4HSp>h!MyH+1 z#X%pr5;d{oNNY8({DHHGQk-m}IF(v&t&QC@zJAiaX!=?>?87AC6E>5;;)@HOZn5?y zh@+!meIfhEy+*oAor!X1v-4K{?}^ql=^T)cPlAD|10}cvJCe60? z5QPE7yqc13@2*-;e$R1oJ^f%%@ZcRp$Tz47mdzI9n?$&MbY%Ewe+yEzxQUzIUw)hT zW4%?9F{}N>lzGzry5|Kliap*2Up9OZdKw=7IxKHP)dkbcTDSAsrlB3&q9P?0XHM3X z&0-!uM3J&#_kgF`Cs!?U5!v+X@wZ^&F1A~+CnW?U?wYg20}t}(yisj6Iiwj>KF z@2cI-)WIeut(l~QnF-FA{FdWcwGuDa#Zy>iV#ndD}%>QJa#fV&sC%1Ly2_bG^qDmE)QBA=6G+pVl>R z728$}LH5c<+j?r3hJzfN0q@6-*+KCzwEV@Q2a#06!=JB5*4U!b_Fjdh%<~yOX-lZH zy$8R4K7MMK)dVZQY-r895^+^bxW_z?ERjr!TT}9ZU42fuXc4r*+oS02(NcM(VKbtt z0u=9RbRh91&DJ1rSZw#3&-9!M!u)wiqjIzclmmmUf3h_A(cCZ+FUuOA1Cr6F$vQaNZapO@2%KfBKdcQyt&v{eUY6}s&l(DXA*t47 zR!>r8?rTAOw0%s6MV(tB&D&>EdUr~X!Y<4qENh`sa7nbI>vLW=mI*_O9R&L7~+M*4wby&U-YCG8D)OZkJs^SU6 zgSkOz&&Uqzqn4ts_66OhP<8caT}x)e`4NNPZuv?x4N^FC)cvvG?CTLPUr^6l(VFLPBNfQ!00NGn$B{F9*S zWN?A{HLOCv<+P^IWPMQTuO}g!QYy#}=PSO=RI4JQ<@B6MQHaP@SM;G z7*8{d$K>rM3#7^!l&~wc-94&NQI6<}uWSC=+ZwldZ_w4P0zPjvSD2SS;kvme*zV?0rl2==Jw@Y`t)+IYZYo?~y!(=(IJh?RDG_Lv9YDnJ zX7+=VLT`+Op^pr{5;UqkPNvJfeJSQNQPm}v%OX{bVk_@#nl(`C>zB3unmmDqRtoPB%n`n&;`In5ZI* zdO=PY5NHr+5< zd<7BEo@nj}#!Nj{FSd8Qlv3CyJQ8^(%%ZErZ# zYEg^eKvrX=V_d&0*!J;;7av*+Jj`>+4-fJ@#A!(|*>3`=`vaN;h9z zQV3HmfIfvzTHSk4hx>*U@)TFG%}Uh+1SY)T+=M7B0=*YU(7;OU^@hNiy@Nz5^zwLJ z2Wlt4a|Y@N7%tVa;7dDWvRgd8G3`1aWI3>ILaViIj<;n(>!aBxsH>5ZeCh2GV>tgy zkGieMO>$&*marL+pF8@v8+g~MEv_4BC#Cg`_ILN+S=aR@hDhBSYf~LwFFa=MU1_#J z)Z$xUo(oHiOlF{1E?z=mkn0m)f5_WmNny4;mYZVc#m}AuYefAtAw>g&vPt=HDyR_} z#hb}D2ep}$Ztl{)cgj@WtZcS2YZN8$`33Iln`IrQ3v*PT@~O%mElkx6epZd7dU3VZ z`-+kP;@i)zEPp-6JT*fy>xqDto#_Pu6hY3tcjbg00y;WhAOcyxA-ZSJx>-C`o`wds zp1jqDOKhz{8};8N2#aqP3mzU&mta@cL5VQu-z)R^W?0>sr@>3+MSR}Ekw(hW5`&PE z$DZ#N^?zu4-wZbxw%#3)1IcL}$d-AWE1y-VUv|e*JjA-?*TZ_{%JCr6DXA7&w#vkB zyG#LNhN3J3FYWJU+Zyo5sLvi<&h*S`rN?@Pg=gQsYubDJ_XrUv*t5WDCyR5@IlH^h zEnqF&mn|$TBD{-lM8nB#Z5D)w*iGN+=$OV-m&E|TsGw6d(Zi?2V zEdmy8pSl|QJ3}51D$55Ils{s3Y*RZb#2q*Y^*B3oJ8fROx((O{d0d8bqo z&*c)D_erGWf!e$QV{O|n9%Fg`v_ed(?<~BBP7N{!GtCnmiDUOY{Z+@>!IqTB*}~oKKd<~X=&S65u~B@Je6N#xTHj1|jm8zprLG549fx;5 zW!`Bp5(wgP=HhfBdpvxVQBb;w)-jDAL6dS^dG9PsQ^2Er0NL?o>tw8MDrZ#vig;`9 z4dow$-ouwz7U2;m6)E9xrd9t8)&Vm!KfLe6#P02puo}4!)mgn3{tq=pk&$~x?_Q@! zE@(oD-_G7*S9)McFqXqQP=BddW4pbxVVtd%Y|xqB>D_kDiN@w<>eFl=_HTbm85DQB zm$oxzj>0ow;N}?Lv}mD~U(r6X>%T`!v~7{64?mvTk8O-=nq0ptnhDG6)cIJ(Pxjma zr3-}ZrD>8AWU)gjpf#mw#nTR>sJiKIwr7&&lZufAJL{rvELlBgICpMbb8c~!qBf?A zXt$a#PuZ-{!1c;q7`n3mVj)pFdrly*_^2kx%uNAkL(o`z$zk-c*iP>G%D5@KkhMpO&a`RE$r%7 z7n@bg&q#`uUcWEPbIcJ?x~q;T&uv~X4AP);!?&3~bhWV?IXSrbySuf!%UIx?AAe_a zI>M-vi_;=RQg}e1d}r!ye_dB!IP0sZPX;#+h86RLmlRGuDl_tz+U zLqpl`K*v%*2jn_wsUOyFq~zx~3TEU)$R<3lb8R)03~9XP9yYmKV;FKS-qE#u+R<^; zvFo1?W`+tx3RW>q7dGnGe#%$5<6u;$4hu2oYv3-?9Vd;j7Ho(q?pw+ zXsi+()(zno&-4HT=PbVjg|N(tk1!`*oDS0W3;VpDFM74|rc{S}wOXotGf^K&xpQm( zVob^V+AbBG58j|cyKcru#FQ=abyWEt(hD*9ElH zxBDsV5{|Y{G1W(dmeHE2#+?(vC3+t9vfz7D!2-$*bFTo={E+F;iwld_>B$uIzQ@LA z4Mgg)lYO^AeSke#zVr@@EU6ER*0?Q{T*n8g2(QdGM2RV-TomjTZ@607x0j4+p&6@w@$oAH6~>_CNrg~ z2SY+1jf<#A`IpMYre!h{sPNuvbqrRRK{$1#e>ntcQfapUhD21n;%>^~;pNs{nnbyq z)#~qtJaXp#fN*{tBS*OT(o>KPb6&9KP0rl78KG3GZ1HT@eSc@?i$1SUz^8?Ww?