commit b0ba869953d024595bac84b8987de34aee561392 Author: nolim1t Date: Mon Mar 2 11:02:13 2020 +0700 Initial commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..1bb3a9d --- /dev/null +++ b/README.md @@ -0,0 +1,11 @@ +# The Box Compose System + +## Abstract + +This is a basic framework for orchestration of the box services for running a full lightning and bitcoin node. + +## How to use + +Either clone this directory into your home directory or copy the files and directories individually. + + diff --git a/bitcoin/bitcoin.conf b/bitcoin/bitcoin.conf new file mode 100644 index 0000000..02b51a7 --- /dev/null +++ b/bitcoin/bitcoin.conf @@ -0,0 +1,30 @@ +onion=127.0.0.1:9050 +torcontrol=127.0.0.1:9051 + +server=1 +rest=1 + +# PI optimizations +maxmempool=512 +maxconnections=40 +maxuploadtarget=5000 + +port=8333 +rpcport=8332 + +# Prune it up first +prune=550 +# Temporary solution while we don't have the drives +# txindex=1 + +# blockfilterindex=1 +peerbloomfilters=0 +addresstype=bech32 +avoidpartialspends=1 +logips=1 +logtimestamps=0 +logthreadnames=1 +nodebuglogfile=1 + +rpcbind=0.0.0.0 + diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..7ce4559 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,23 @@ +version: '3.7' +services: + web: + image: nginx:1.17.8 + volumes: + - ${HOME}/nginx:/etc/nginx + restart: on-failure + network_mode: host + bitcoin: + image: lncm/bitcoind:v0.19.0.1 + volumes: + - ${HOME}/bitcoin:/root/.bitcoin + restart: on-failure + network_mode: host + lnd: + image: lncm/lnd:v0.8.0-experimental + volumes: + - ${HOME}/lnd:/root/.lnd + - /var/lib/tor:/var/lib/tor + - /run/tor:/run/tor + restart: on-failure + depends_on: [ bitcoin, web ] + network_mode: host diff --git a/lnd/lnd.conf b/lnd/lnd.conf new file mode 100644 index 0000000..9839a4d --- /dev/null +++ b/lnd/lnd.conf @@ -0,0 +1,38 @@ +[Application Options] + +listen=0.0.0.0:9735 +rpclisten=0.0.0.0:10009 +restlisten=0.0.0.0:8080 +maxpendingchannels=3 +minchansize=10000 +alias=Umbrel Node +color=#6320fc + +; Makes routing faster but have to use images built with experimental tag +[Routing] +routing.assumechanvalid=1 + +[Bitcoin] +; If the Bitcoin chain should be active. Atm, only a single chain can be +; active. +bitcoin.active=1 +bitcoin.mainnet=1 +; Use neutrino for now, but maybe it could be permanent and then switch +; to a full node once its working? +bitcoin.node=neutrino +bitcoin.defaultchanconfs=2 + +; Add neutrino peers +; TODO: umbrel to set up a neutrino peer to support umbrel nodes +[neutrino] +neutrino.addpeer=bb2.breez.technology +neutrino.addpeer=mainnet1-btcd.zaphq.io +neutrino.addpeer=mainnet2-btcd.zaphq.io + +[tor] +tor.active=1 +tor.control=9051 +tor.socks=9050 +tor.v3=1 +tor.dns=soa.nodes.lightning.directory:53 + diff --git a/nginx/conf.d/default.conf b/nginx/conf.d/default.conf new file mode 100644 index 0000000..91d489e --- /dev/null +++ b/nginx/conf.d/default.conf @@ -0,0 +1,8 @@ +server { + listen 80 default_server; + listen [::]:80 default_server; + server_name _; + root /etc/nginx/www; + index index.html; + try_files $uri /index.html; +} diff --git a/nginx/mime.types b/nginx/mime.types new file mode 100644 index 0000000..0d039d8 --- /dev/null +++ b/nginx/mime.types @@ -0,0 +1,139 @@ +types { + + # Data interchange + + application/atom+xml atom; + application/json json map topojson; + application/ld+json jsonld; + application/rss+xml rss; + # Normalize to standard type. + # https://tools.ietf.org/html/rfc7946#section-12 + application/geo+json geojson; + application/xml xml; + # Normalize to standard type. + # https://tools.ietf.org/html/rfc3870#section-2 + application/rdf+xml rdf; + + + # JavaScript + + # Servers should use text/javascript for JavaScript resources. + # https://html.spec.whatwg.org/multipage/scripting.html#scriptingLanguages + text/javascript js mjs; + application/wasm wasm; + + + # Manifest files + + application/manifest+json webmanifest; + application/x-web-app-manifest+json webapp; + text/cache-manifest appcache; + + + # Media files + + audio/midi mid midi kar; + audio/mp4 aac f4a f4b m4a; + audio/mpeg mp3; + audio/ogg oga ogg opus; + audio/x-realaudio ra; + audio/x-wav wav; + audio/x-matroska mka; + image/bmp bmp; + image/gif gif; + image/jpeg jpeg jpg; + image/jxr jxr hdp wdp; + image/png png; + image/svg+xml svg svgz; + image/tiff tif tiff; + image/vnd.wap.wbmp wbmp; + image/webp webp; + image/x-jng jng; + video/3gpp 3gp 3gpp; + video/mp4 f4p f4v m4v mp4; + video/mpeg mpeg mpg; + video/ogg ogv; + video/quicktime mov; + video/webm webm; + video/x-flv flv; + video/x-mng mng; + video/x-ms-asf asf asx; + video/x-ms-wmv wmv; + video/x-msvideo avi; + video/x-matroska mkv mk3d; + + # Serving `.ico` image files with a different media type + # prevents Internet Explorer from displaying then as images: + # https://github.com/h5bp/html5-boilerplate/commit/37b5fec090d00f38de64b591bcddcb205aadf8ee + + image/x-icon cur ico; + + + # Microsoft Office + + application/msword doc; + application/vnd.ms-excel xls; + application/vnd.ms-powerpoint ppt; + application/vnd.openxmlformats-officedocument.wordprocessingml.document docx; + application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx; + application/vnd.openxmlformats-officedocument.presentationml.presentation pptx; + + + # Web fonts + + font/woff woff; + font/woff2 woff2; + application/vnd.ms-fontobject eot; + font/ttf ttf; + font/collection ttc; + font/otf otf; + + + # Other + + application/java-archive ear jar war; + application/mac-binhex40 hqx; + application/octet-stream bin deb dll dmg exe img iso msi msm msp safariextz; + application/pdf pdf; + application/postscript ai eps ps; + application/rtf rtf; + application/vnd.google-earth.kml+xml kml; + application/vnd.google-earth.kmz kmz; + application/vnd.wap.wmlc wmlc; + application/x-7z-compressed 7z; + application/x-bb-appworld bbaw; + application/x-bittorrent torrent; + application/x-chrome-extension crx; + application/x-cocoa cco; + application/x-java-archive-diff jardiff; + application/x-java-jnlp-file jnlp; + application/x-makeself run; + application/x-opera-extension oex; + application/x-perl pl pm; + application/x-pilot pdb prc; + application/x-rar-compressed rar; + application/x-redhat-package-manager rpm; + application/x-sea sea; + application/x-shockwave-flash swf; + application/x-stuffit sit; + application/x-tcl tcl tk; + application/x-x509-ca-cert crt der pem; + application/x-xpinstall xpi; + application/xhtml+xml xhtml; + application/xslt+xml xsl; + application/zip zip; + text/calendar ics; + text/css css; + text/csv csv; + text/html htm html shtml; + text/markdown md markdown; + text/mathml mml; + text/plain txt; + text/vcard vcard vcf; + text/vnd.rim.location.xloc xloc; + text/vnd.sun.j2me.app-descriptor jad; + text/vnd.wap.wml wml; + text/vtt vtt; + text/x-component htc; + +} diff --git a/nginx/nginx.conf b/nginx/nginx.conf new file mode 100644 index 0000000..0955b51 --- /dev/null +++ b/nginx/nginx.conf @@ -0,0 +1,23 @@ +user nginx; +worker_processes 1; + +error_log /etc/nginx/log/error.log warn; +pid /etc/nginx/log/nginx.pid; + +events { + worker_connections 1337; +} +http { + include /etc/nginx/mime.types; + default_type application/octet-stream; + + 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 /etc/nginx/log/access.log main; + sendfile on; + keepalive_timeout 65; + + include /etc/nginx/conf.d/*.conf; +} diff --git a/nginx/www/index.html b/nginx/www/index.html new file mode 100644 index 0000000..557db03 --- /dev/null +++ b/nginx/www/index.html @@ -0,0 +1 @@ +Hello World