diff --git a/docker-compose.yml b/docker-compose.yml index 43dfe9b..bb096aa 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -34,6 +34,16 @@ services: networks: default: ipv4_address: $APPS_2_TOR_IP + app_3_tor: + image: lncm/tor:0.4.5.7@sha256:a83e0d9fd1a35adf025f2f34237ec1810e2a59765988dce1dfb222ca8ef6583c + user: toruser + restart: on-failure + volumes: + - ${PWD}/tor/torrc-apps-3:/etc/tor/torrc + - ${PWD}/tor/data:/var/lib/tor/ + networks: + default: + ipv4_address: $APPS_3_TOR_IP nginx: container_name: nginx image: nginx:1.17.8@sha256:380eb808e2a3b0dd954f92c1cae2f845e6558a15037efefcabc5b4e03d666d03 diff --git a/scripts/configure b/scripts/configure index e442b8a..0ba35ea 100755 --- a/scripts/configure +++ b/scripts/configure @@ -73,6 +73,7 @@ BITCOIN_CONF_FILE="./templates/bitcoin.conf" LND_CONF_FILE="./templates/lnd.conf" APPS_TOR_CONF_FILE="./templates/torrc-apps" APPS_2_TOR_CONF_FILE="./templates/torrc-apps-2" +APPS_3_TOR_CONF_FILE="./templates/torrc-apps-3" UMBREL_TOR_CONF_FILE="./templates/torrc-umbrel" ELECTRS_CONF_FILE="./templates/electrs.toml" ENV_FILE="./templates/.env" @@ -84,6 +85,7 @@ ENV_FILE="./templates/.env" [[ -f "$LND_CONF_FILE" ]] && rm -f "$LND_CONF_FILE" [[ -f "$APPS_TOR_CONF_FILE" ]] && rm -f "$APPS_TOR_CONF_FILE" [[ -f "$APPS_2_TOR_CONF_FILE" ]] && rm -f "$APPS_2_TOR_CONF_FILE" +[[ -f "$APPS_3_TOR_CONF_FILE" ]] && rm -f "$APPS_3_TOR_CONF_FILE" [[ -f "$UMBREL_TOR_CONF_FILE" ]] && rm -f "$UMBREL_TOR_CONF_FILE" [[ -f "$ELECTRS_CONF_FILE" ]] && rm -f "$ELECTRS_CONF_FILE" [[ -f "$ENV_FILE" ]] && rm -f "$ENV_FILE" @@ -94,6 +96,7 @@ ENV_FILE="./templates/.env" [[ -f "./templates/lnd-sample.conf" ]] && cp "./templates/lnd-sample.conf" "$LND_CONF_FILE" [[ -f "./templates/torrc-apps-sample" ]] && cp "./templates/torrc-apps-sample" "$APPS_TOR_CONF_FILE" [[ -f "./templates/torrc-apps-2-sample" ]] && cp "./templates/torrc-apps-2-sample" "$APPS_2_TOR_CONF_FILE" +[[ -f "./templates/torrc-apps-3-sample" ]] && cp "./templates/torrc-apps-3-sample" "$APPS_3_TOR_CONF_FILE" [[ -f "./templates/torrc-umbrel-sample" ]] && cp "./templates/torrc-umbrel-sample" "$UMBREL_TOR_CONF_FILE" [[ -f "./templates/electrs-sample.toml" ]] && cp "./templates/electrs-sample.toml" "$ELECTRS_CONF_FILE" [[ -f "./templates/.env-sample" ]] && cp "./templates/.env-sample" "$ENV_FILE" @@ -130,6 +133,7 @@ ELECTRUM_PORT="50001" TOR_PROXY_IP="10.21.21.11" APPS_TOR_IP="10.21.21.47" APPS_2_TOR_IP="10.21.21.48" +APPS_3_TOR_IP="10.21.21.49" TOR_PROXY_PORT="9050" # Apps @@ -307,7 +311,7 @@ if [[ "$BITCOIN_NETWORK" == "mainnet" ]] && [[ ! -f "${STATUS_DIR}/node-status-b fi # TODO: Update all the above code to use this simpler logic -for template in "${NGINX_CONF_FILE}" "${BITCOIN_CONF_FILE}" "${LND_CONF_FILE}" "${APPS_TOR_CONF_FILE}" "${APPS_2_TOR_CONF_FILE}" "${UMBREL_TOR_CONF_FILE}" "${ELECTRS_CONF_FILE}" "${ENV_FILE}"; do +for template in "${NGINX_CONF_FILE}" "${BITCOIN_CONF_FILE}" "${LND_CONF_FILE}" "${APPS_TOR_CONF_FILE}" "${APPS_2_TOR_CONF_FILE}" "${APPS_3_TOR_CONF_FILE}" "${UMBREL_TOR_CONF_FILE}" "${ELECTRS_CONF_FILE}" "${ENV_FILE}"; do # Umbrel sed -i "s//${NETWORK_IP}/g" "${template}" sed -i "s//${GATEWAY_IP}/g" "${template}" @@ -327,6 +331,7 @@ for template in "${NGINX_CONF_FILE}" "${BITCOIN_CONF_FILE}" "${LND_CONF_FILE}" " sed -i "s//${TOR_PROXY_PORT}/g" "${template}" sed -i "s//${APPS_TOR_IP}/g" "${template}" sed -i "s//${APPS_2_TOR_IP}/g" "${template}" + sed -i "s//${APPS_3_TOR_IP}/g" "${template}" sed -i "s//${BITCOIN_ZMQ_RAWBLOCK_PORT}/g;" "${template}" sed -i "s//${BITCOIN_ZMQ_RAWTX_PORT}/g;" "${template}" sed -i "s//${BITCOIN_ZMQ_HASHBLOCK_PORT}/g;" "${template}" @@ -409,6 +414,7 @@ mv -f "$NGINX_CONF_FILE" "./nginx/nginx.conf" mv -f "$BITCOIN_CONF_FILE" "./bitcoin/bitcoin.conf" mv -f "$APPS_TOR_CONF_FILE" "./tor/torrc-apps" mv -f "$APPS_2_TOR_CONF_FILE" "./tor/torrc-apps-2" +mv -f "$APPS_3_TOR_CONF_FILE" "./tor/torrc-apps-3" mv -f "$UMBREL_TOR_CONF_FILE" "./tor/torrc-umbrel" mv -f "$ELECTRS_CONF_FILE" "./electrs/electrs.toml" mv -f "$ENV_FILE" "./.env" diff --git a/scripts/update/.updateinclude b/scripts/update/.updateinclude index 7aaf1eb..3bb3abe 100644 --- a/scripts/update/.updateinclude +++ b/scripts/update/.updateinclude @@ -2,5 +2,6 @@ bitcoin/bitcoin.conf tor/torrc-apps tor/torrc-apps-2 +tor/torrc-apps-3 tor/torrc-umbrel electrs/electrs.toml diff --git a/templates/.env-sample b/templates/.env-sample index 82667e4..91b3c5d 100644 --- a/templates/.env-sample +++ b/templates/.env-sample @@ -28,6 +28,7 @@ TOR_PASSWORD= TOR_HASHED_PASSWORD= APPS_TOR_IP= APPS_2_TOR_IP= +APPS_3_TOR_IP= DOCKER_BINARY= # Apps diff --git a/templates/torrc-apps-2-sample b/templates/torrc-apps-2-sample index cbb6cb0..bc5961f 100644 --- a/templates/torrc-apps-2-sample +++ b/templates/torrc-apps-2-sample @@ -41,25 +41,3 @@ HiddenServicePort 80 : HiddenServiceDir /var/lib/tor/app-synapse HiddenServicePort 80 : HiddenServicePort : - -# element Hidden Service -HiddenServiceDir /var/lib/tor/app-element -HiddenServicePort 80 :80 - -# vaultwarden Hidden Service -HiddenServiceDir /var/lib/tor/app-vaultwarden -HiddenServicePort 80 : - -# code-server Hidden Service -HiddenServiceDir /var/lib/tor/app-code-server -HiddenServicePort 80 :8080 - -# squeaknode Hidden Service -HiddenServiceDir /var/lib/tor/app-squeaknode -HiddenServicePort 80 : -HiddenServicePort : - -# squeaknode p2p Hidden Service -HiddenServiceDir /var/lib/tor/app-squeaknode-p2p -HiddenServicePort : -HiddenServicePort : diff --git a/templates/torrc-apps-3-sample b/templates/torrc-apps-3-sample new file mode 100644 index 0000000..0043d5b --- /dev/null +++ b/templates/torrc-apps-3-sample @@ -0,0 +1,23 @@ +# Apps 3 + +# element Hidden Service +HiddenServiceDir /var/lib/tor/app-element +HiddenServicePort 80 :80 + +# vaultwarden Hidden Service +HiddenServiceDir /var/lib/tor/app-vaultwarden +HiddenServicePort 80 : + +# code-server Hidden Service +HiddenServiceDir /var/lib/tor/app-code-server +HiddenServicePort 80 :8080 + +# squeaknode Hidden Service +HiddenServiceDir /var/lib/tor/app-squeaknode +HiddenServicePort 80 : +HiddenServicePort : + +# squeaknode p2p Hidden Service +HiddenServiceDir /var/lib/tor/app-squeaknode-p2p +HiddenServicePort : +HiddenServicePort :