Browse Source
Add internal Tor daemon to required apps (#218)
Co-authored-by: Steven Briscoe <me@stevenbriscoe.com>
main
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
46 changed files with
327 additions and
86 deletions
-
bitcoin/docker-compose.yml
-
bitcoin/hooks/pre-start
-
bitcoin/torrc.template
-
bitcoin/umbrel-app.yml
-
core-lightning/docker-compose.yml
-
core-lightning/hooks/pre-start
-
core-lightning/torrc.template
-
core-lightning/umbrel-app.yml
-
electrs/docker-compose.yml
-
electrs/hooks/pre-start
-
electrs/torrc.template
-
electrs/umbrel-app.yml
-
elements/docker-compose.yml
-
elements/hooks/pre-start
-
elements/torrc.template
-
elements/umbrel-app.yml
-
gitea/exports.sh
-
gitea/torrc.template
-
gitea/umbrel-app.yml
-
jam/docker-compose.yml
-
jam/umbrel-app.yml
-
kollider/exports.sh
-
kollider/torrc.template
-
kollider/umbrel-app.yml
-
lightning/docker-compose.yml
-
lightning/hooks/pre-start
-
lightning/torrc.template
-
lightning/umbrel-app.yml
-
samourai-server/docker-compose.yml
-
samourai-server/hooks/pre-start
-
samourai-server/torrc.template
-
samourai-server/umbrel-app.yml
-
sphinx-relay/exports.sh
-
sphinx-relay/torrc.template
-
sphinx-relay/umbrel-app.yml
-
squeaknode/docker-compose.yml
-
squeaknode/hooks/pre-start
-
squeaknode/torrc.template
-
squeaknode/umbrel-app.yml
-
suredbits-wallet/docker-compose.yml
-
suredbits-wallet/hooks/pre-start
-
suredbits-wallet/torrc.template
-
suredbits-wallet/umbrel-app.yml
-
synapse/exports.sh
-
synapse/torrc.template
-
synapse/umbrel-app.yml
|
@ -39,4 +39,14 @@ services: |
|
|
- "${APP_BITCOIN_RPC_PORT}:${APP_BITCOIN_RPC_PORT}" |
|
|
- "${APP_BITCOIN_RPC_PORT}:${APP_BITCOIN_RPC_PORT}" |
|
|
networks: |
|
|
networks: |
|
|
default: |
|
|
default: |
|
|
ipv4_address: $APP_BITCOIN_NODE_IP |
|
|
ipv4_address: $APP_BITCOIN_NODE_IP |
|
|
|
|
|
|
|
|
|
|
|
tor: |
|
|
|
|
|
image: getumbrel/tor:0.4.7.8@sha256:2ace83f22501f58857fa9b403009f595137fa2e7986c4fda79d82a8119072b6a |
|
|
|
|
|
user: "1000:1000" |
|
|
|
|
|
restart: on-failure |
|
|
|
|
|
volumes: |
|
|
|
|
|
- ${APP_DATA_DIR}/torrc:/etc/tor/torrc:ro |
|
|
|
|
|
- ${TOR_DATA_DIR}:/data |
|
|
|
|
|
environment: |
|
|
|
|
|
HOME: "/tmp" |
|
@ -0,0 +1,26 @@ |
|
|
|
|
|
#!/usr/bin/env bash |
|
|
|
|
|
|
|
|
|
|
|
# Delay booting Bitcoin until the RPC and P2P Tor Hidden Services are ready |
|
|
|
|
|
|
|
|
|
|
|
HIDDEN_SERVICE_FILE="${TOR_DATA_DIR}/app-${APP_ID}-rpc/hostname" |
|
|
|
|
|
|
|
|
|
|
|
if [[ -f "${HIDDEN_SERVICE_FILE}" ]]; then |
|
|
|
|
|
exit |
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
"${UMBREL_ROOT}/scripts/app" compose "${APP_ID}" up --detach bitcoind |
|
|
|
|
|
"${UMBREL_ROOT}/scripts/app" compose "${APP_ID}" up --detach tor |
|
|
|
|
|
|
|
|
|
|
|
echo "App: ${APP_ID} - Generating Tor Hidden Service..." |
|
|
|
|
|
|
|
|
|
|
|
for attempt in $(seq 1 100); do |
|
|
|
|
|
if [[ -f "${HIDDEN_SERVICE_FILE}" ]]; then |
|
|
|
|
|
echo "App: ${APP_ID} - Hidden service file created successfully!" |
|
|
|
|
|
break |
|
|
|
|
|
fi |
|
|
|
|
|
sleep 0.1 |
|
|
|
|
|
done |
|
|
|
|
|
|
|
|
|
|
|
if [[ ! -f "${HIDDEN_SERVICE_FILE}" ]]; then |
|
|
|
|
|
echo "App: ${APP_ID} - Hidden service file wasn't created" |
|
|
|
|
|
fi |
|
@ -4,8 +4,4 @@ HiddenServicePort $APP_BITCOIN_P2P_PORT $APP_BITCOIN_NODE_IP:$APP_BITCOIN_TOR_PO |
|
|
|
|
|
|
|
|
# Bitcoin Core RPC Hidden Service |
|
|
# Bitcoin Core RPC Hidden Service |
|
|
HiddenServiceDir /data/app-$APP_ID-rpc |
|
|
HiddenServiceDir /data/app-$APP_ID-rpc |
|
|
HiddenServicePort $APP_BITCOIN_RPC_PORT $APP_BITCOIN_NODE_IP:$APP_BITCOIN_RPC_PORT |
|
|
HiddenServicePort $APP_BITCOIN_RPC_PORT $APP_BITCOIN_NODE_IP:$APP_BITCOIN_RPC_PORT |
|
|
|
|
|
|
|
|
# Bitcoin Core Frontend Hidden Service |
|
|
|
|
|
HiddenServiceDir /data/app-$APP_ID |
|
|
|
|
|
HiddenServicePort 80 $APP_PROXY_HOSTNAME:$APP_PROXY_PORT |
|
|
|
|
@ -1,4 +1,4 @@ |
|
|
manifestVersion: 1 |
|
|
manifestVersion: 1.1 |
|
|
id: bitcoin |
|
|
id: bitcoin |
|
|
category: Finance |
|
|
category: Finance |
|
|
name: Bitcoin Node |
|
|
name: Bitcoin Node |
|
|
|
@ -62,4 +62,14 @@ services: |
|
|
- "${APP_DATA_DIR}/data/lightningd:/data/.lightning" |
|
|
- "${APP_DATA_DIR}/data/lightningd:/data/.lightning" |
|
|
networks: |
|
|
networks: |
|
|
default: |
|
|
default: |
|
|
ipv4_address: ${APP_CORE_LIGHTNING_DAEMON_IP} |
|
|
ipv4_address: ${APP_CORE_LIGHTNING_DAEMON_IP} |
|
|
|
|
|
|
|
|
|
|
|
tor: |
|
|
|
|
|
image: getumbrel/tor:0.4.7.8@sha256:2ace83f22501f58857fa9b403009f595137fa2e7986c4fda79d82a8119072b6a |
|
|
|
|
|
user: "1000:1000" |
|
|
|
|
|
restart: on-failure |
|
|
|
|
|
volumes: |
|
|
|
|
|
- ${APP_DATA_DIR}/torrc:/etc/tor/torrc:ro |
|
|
|
|
|
- ${TOR_DATA_DIR}:/data |
|
|
|
|
|
environment: |
|
|
|
|
|
HOME: "/tmp" |
|
@ -0,0 +1,26 @@ |
|
|
|
|
|
#!/usr/bin/env bash |
|
|
|
|
|
|
|
|
|
|
|
# Delay booting Core Lightning until the REST Tor Hidden Service is ready |
|
|
|
|
|
|
|
|
|
|
|
HIDDEN_SERVICE_FILE="${TOR_DATA_DIR}/app-${APP_ID}-rest/hostname" |
|
|
|
|
|
|
|
|
|
|
|
if [[ -f "${HIDDEN_SERVICE_FILE}" ]]; then |
|
|
|
|
|
exit |
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
"${UMBREL_ROOT}/scripts/app" compose "${APP_ID}" up --detach c-lightning-rest |
|
|
|
|
|
"${UMBREL_ROOT}/scripts/app" compose "${APP_ID}" up --detach tor |
|
|
|
|
|
|
|
|
|
|
|
echo "App: ${APP_ID} - Generating Tor Hidden Service..." |
|
|
|
|
|
|
|
|
|
|
|
for attempt in $(seq 1 100); do |
|
|
|
|
|
if [[ -f "${HIDDEN_SERVICE_FILE}" ]]; then |
|
|
|
|
|
echo "App: ${APP_ID} - Hidden service file created successfully!" |
|
|
|
|
|
break |
|
|
|
|
|
fi |
|
|
|
|
|
sleep 0.1 |
|
|
|
|
|
done |
|
|
|
|
|
|
|
|
|
|
|
if [[ ! -f "${HIDDEN_SERVICE_FILE}" ]]; then |
|
|
|
|
|
echo "App: ${APP_ID} - Hidden service file wasn't created" |
|
|
|
|
|
fi |
|
@ -1,7 +1,3 @@ |
|
|
# Core Lightning REST Hidden Service |
|
|
# Core Lightning REST Hidden Service |
|
|
HiddenServiceDir /data/app-$APP_ID-rest |
|
|
HiddenServiceDir /data/app-$APP_ID-rest |
|
|
HiddenServicePort $APP_CORE_LIGHTNING_REST_PORT $APP_CORE_LIGHTNING_REST_IP:$APP_CORE_LIGHTNING_REST_PORT |
|
|
HiddenServicePort $APP_CORE_LIGHTNING_REST_PORT $APP_CORE_LIGHTNING_REST_IP:$APP_CORE_LIGHTNING_REST_PORT |
|
|
|
|
|
|
|
|
# Core Lightning Frontend Hidden Service |
|
|
|
|
|
HiddenServiceDir /data/app-$APP_ID |
|
|
|
|
|
HiddenServicePort 80 $APP_PROXY_HOSTNAME:$APP_PROXY_PORT |
|
|
|
|
@ -1,4 +1,4 @@ |
|
|
manifestVersion: 1 |
|
|
manifestVersion: 1.1 |
|
|
id: core-lightning |
|
|
id: core-lightning |
|
|
category: Finance |
|
|
category: Finance |
|
|
name: Core Lightning |
|
|
name: Core Lightning |
|
|
|
@ -41,4 +41,14 @@ services: |
|
|
- "${APP_ELECTRS_NODE_PORT}:${APP_ELECTRS_NODE_PORT}" |
|
|
- "${APP_ELECTRS_NODE_PORT}:${APP_ELECTRS_NODE_PORT}" |
|
|
networks: |
|
|
networks: |
|
|
default: |
|
|
default: |
|
|
ipv4_address: $APP_ELECTRS_NODE_IP |
|
|
ipv4_address: $APP_ELECTRS_NODE_IP |
|
|
|
|
|
|
|
|
|
|
|
tor: |
|
|
|
|
|
image: getumbrel/tor:0.4.7.8@sha256:2ace83f22501f58857fa9b403009f595137fa2e7986c4fda79d82a8119072b6a |
|
|
|
|
|
user: "1000:1000" |
|
|
|
|
|
restart: on-failure |
|
|
|
|
|
volumes: |
|
|
|
|
|
- ${APP_DATA_DIR}/torrc:/etc/tor/torrc:ro |
|
|
|
|
|
- ${TOR_DATA_DIR}:/data |
|
|
|
|
|
environment: |
|
|
|
|
|
HOME: "/tmp" |
|
@ -0,0 +1,26 @@ |
|
|
|
|
|
#!/usr/bin/env bash |
|
|
|
|
|
|
|
|
|
|
|
# Delay booting Electrs until the RPC Tor Hidden Service is ready |
|
|
|
|
|
|
|
|
|
|
|
HIDDEN_SERVICE_FILE="${TOR_DATA_DIR}/app-${APP_ID}-rpc/hostname" |
|
|
|
|
|
|
|
|
|
|
|
if [[ -f "${HIDDEN_SERVICE_FILE}" ]]; then |
|
|
|
|
|
exit |
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
"${UMBREL_ROOT}/scripts/app" compose "${APP_ID}" up --detach electrs |
|
|
|
|
|
"${UMBREL_ROOT}/scripts/app" compose "${APP_ID}" up --detach tor |
|
|
|
|
|
|
|
|
|
|
|
echo "App: ${APP_ID} - Generating Tor Hidden Service..." |
|
|
|
|
|
|
|
|
|
|
|
for attempt in $(seq 1 100); do |
|
|
|
|
|
if [[ -f "${HIDDEN_SERVICE_FILE}" ]]; then |
|
|
|
|
|
echo "App: ${APP_ID} - Hidden service file created successfully!" |
|
|
|
|
|
break |
|
|
|
|
|
fi |
|
|
|
|
|
sleep 0.1 |
|
|
|
|
|
done |
|
|
|
|
|
|
|
|
|
|
|
if [[ ! -f "${HIDDEN_SERVICE_FILE}" ]]; then |
|
|
|
|
|
echo "App: ${APP_ID} - Hidden service file wasn't created" |
|
|
|
|
|
fi |
|
@ -1,7 +1,3 @@ |
|
|
# Electrs RPC Hidden Service |
|
|
# Electrs RPC Hidden Service |
|
|
HiddenServiceDir /data/app-$APP_ID-rpc |
|
|
HiddenServiceDir /data/app-$APP_ID-rpc |
|
|
HiddenServicePort $APP_ELECTRS_NODE_PORT $APP_ELECTRS_NODE_IP:$APP_ELECTRS_NODE_PORT |
|
|
HiddenServicePort $APP_ELECTRS_NODE_PORT $APP_ELECTRS_NODE_IP:$APP_ELECTRS_NODE_PORT |
|
|
|
|
|
|
|
|
# Electrs Frontend Hidden Service |
|
|
|
|
|
HiddenServiceDir /data/app-$APP_ID |
|
|
|
|
|
HiddenServicePort 80 $APP_PROXY_HOSTNAME:$APP_PROXY_PORT |
|
|
|
|
@ -1,4 +1,4 @@ |
|
|
manifestVersion: 1 |
|
|
manifestVersion: 1.1 |
|
|
id: electrs |
|
|
id: electrs |
|
|
category: Finance |
|
|
category: Finance |
|
|
name: Electrs |
|
|
name: Electrs |
|
|
|
@ -59,5 +59,13 @@ services: |
|
|
networks: |
|
|
networks: |
|
|
default: |
|
|
default: |
|
|
ipv4_address: $APP_ELEMENTS_IP |
|
|
ipv4_address: $APP_ELEMENTS_IP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
tor: |
|
|
|
|
|
image: getumbrel/tor:0.4.7.8@sha256:2ace83f22501f58857fa9b403009f595137fa2e7986c4fda79d82a8119072b6a |
|
|
|
|
|
user: "1000:1000" |
|
|
|
|
|
restart: on-failure |
|
|
|
|
|
volumes: |
|
|
|
|
|
- ${APP_DATA_DIR}/torrc:/etc/tor/torrc:ro |
|
|
|
|
|
- ${TOR_DATA_DIR}:/data |
|
|
|
|
|
environment: |
|
|
|
|
|
HOME: "/tmp" |
|
@ -0,0 +1,26 @@ |
|
|
|
|
|
#!/usr/bin/env bash |
|
|
|
|
|
|
|
|
|
|
|
# Delay booting Elements until the RPC and P2P Tor Hidden Services are ready |
|
|
|
|
|
|
|
|
|
|
|
HIDDEN_SERVICE_FILE="${TOR_DATA_DIR}/app-${APP_ID}-p2p/hostname" |
|
|
|
|
|
|
|
|
|
|
|
if [[ -f "${HIDDEN_SERVICE_FILE}" ]]; then |
|
|
|
|
|
exit |
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
"${UMBREL_ROOT}/scripts/app" compose "${APP_ID}" up --detach node |
|
|
|
|
|
"${UMBREL_ROOT}/scripts/app" compose "${APP_ID}" up --detach tor |
|
|
|
|
|
|
|
|
|
|
|
echo "App: ${APP_ID} - Generating Tor Hidden Service..." |
|
|
|
|
|
|
|
|
|
|
|
for attempt in $(seq 1 100); do |
|
|
|
|
|
if [[ -f "${HIDDEN_SERVICE_FILE}" ]]; then |
|
|
|
|
|
echo "App: ${APP_ID} - Hidden service file created successfully!" |
|
|
|
|
|
break |
|
|
|
|
|
fi |
|
|
|
|
|
sleep 0.1 |
|
|
|
|
|
done |
|
|
|
|
|
|
|
|
|
|
|
if [[ ! -f "${HIDDEN_SERVICE_FILE}" ]]; then |
|
|
|
|
|
echo "App: ${APP_ID} - Hidden service file wasn't created" |
|
|
|
|
|
fi |
|
@ -4,8 +4,4 @@ HiddenServicePort $APP_ELEMENTS_NODE_RPC_PORT $APP_ELEMENTS_NODE_IP:$APP_ELEMENT |
|
|
|
|
|
|
|
|
# elements p2p Hidden Service |
|
|
# elements p2p Hidden Service |
|
|
HiddenServiceDir /data/app-$APP_ID-p2p |
|
|
HiddenServiceDir /data/app-$APP_ID-p2p |
|
|
HiddenServicePort $APP_ELEMENTS_NODE_P2P_PORT $APP_ELEMENTS_NODE_IP:$APP_ELEMENTS_NODE_P2P_PORT |
|
|
HiddenServicePort $APP_ELEMENTS_NODE_P2P_PORT $APP_ELEMENTS_NODE_IP:$APP_ELEMENTS_NODE_P2P_PORT |
|
|
|
|
|
|
|
|
# elements Hidden Service |
|
|
|
|
|
HiddenServiceDir /data/app-$APP_ID |
|
|
|
|
|
HiddenServicePort 80 $APP_PROXY_HOSTNAME:$APP_PROXY_PORT |
|
|
|
|
@ -1,4 +1,4 @@ |
|
|
manifestVersion: 1 |
|
|
manifestVersion: 1.1 |
|
|
id: elements |
|
|
id: elements |
|
|
category: Wallet Servers |
|
|
category: Wallet Servers |
|
|
name: Elements Core |
|
|
name: Elements Core |
|
|
|
@ -1,4 +1,5 @@ |
|
|
export APP_GITEA_PORT="8085" |
|
|
export APP_GITEA_PORT="8085" |
|
|
export APP_GITEA_SSH_PORT="2222" |
|
|
export APP_GITEA_SSH_PORT="2222" |
|
|
export APP_GITEA_IP="10.21.21.39" |
|
|
export APP_GITEA_IP="10.21.21.39" |
|
|
export APP_GITEA_DB_IP="10.21.21.40" |
|
|
export APP_GITEA_DB_IP="10.21.21.40" |
|
|
|
|
|
export APP_GITEA_TOR_HS_EXTRA_PORTS="22:${APP_GITEA_IP}:${APP_GITEA_SSH_PORT}" |
|
@ -1,4 +0,0 @@ |
|
|
# gitea Hidden Service |
|
|
|
|
|
HiddenServiceDir /data/app-gitea |
|
|
|
|
|
HiddenServicePort 80 $APP_GITEA_IP:$APP_GITEA_PORT |
|
|
|
|
|
HiddenServicePort 22 $APP_GITEA_IP:$APP_GITEA_SSH_PORT |
|
|
|
|
@ -1,4 +1,4 @@ |
|
|
manifestVersion: 1 |
|
|
manifestVersion: 1.1 |
|
|
id: gitea |
|
|
id: gitea |
|
|
category: Development |
|
|
category: Development |
|
|
name: Gitea |
|
|
name: Gitea |
|
|
|
@ -27,4 +27,4 @@ services: |
|
|
jm_rpc_wallet_file: jam_default |
|
|
jm_rpc_wallet_file: jam_default |
|
|
networks: |
|
|
networks: |
|
|
default: |
|
|
default: |
|
|
ipv4_address: $APP_JAM_IP |
|
|
ipv4_address: $APP_JAM_IP |
|
@ -1,4 +1,4 @@ |
|
|
manifestVersion: 1 |
|
|
manifestVersion: 1.1 |
|
|
id: jam |
|
|
id: jam |
|
|
category: Finance |
|
|
category: Finance |
|
|
name: Jam |
|
|
name: Jam |
|
|
|
@ -2,4 +2,5 @@ export APP_KOLLIDER_IP="10.21.21.70" |
|
|
export APP_KOLLIDER_PORT="4243" |
|
|
export APP_KOLLIDER_PORT="4243" |
|
|
export APP_KOLLIDER_WS_IP="10.21.21.71" |
|
|
export APP_KOLLIDER_WS_IP="10.21.21.71" |
|
|
export APP_KOLLIDER_WS_PORT="4244" |
|
|
export APP_KOLLIDER_WS_PORT="4244" |
|
|
export APP_KOLLIDER_HH_IP="10.21.21.72" |
|
|
export APP_KOLLIDER_HH_IP="10.21.21.72" |
|
|
|
|
|
export APP_KOLLIDER_TOR_HS_EXTRA_PORTS="4244:${APP_KOLLIDER_WS_IP}:8080" |
|
@ -1,4 +0,0 @@ |
|
|
# kollider Hidden Service |
|
|
|
|
|
HiddenServiceDir /data/app-kollider |
|
|
|
|
|
HiddenServicePort 80 $APP_KOLLIDER_IP:3000 |
|
|
|
|
|
HiddenServicePort 4244 $APP_KOLLIDER_WS_IP:8080 |
|
|
|
|
@ -1,4 +1,4 @@ |
|
|
manifestVersion: 1 |
|
|
manifestVersion: 1.1 |
|
|
id: kollider |
|
|
id: kollider |
|
|
category: Finance |
|
|
category: Finance |
|
|
name: Kollider |
|
|
name: Kollider |
|
|
|
@ -54,3 +54,13 @@ services: |
|
|
networks: |
|
|
networks: |
|
|
default: |
|
|
default: |
|
|
ipv4_address: $APP_LIGHTNING_NODE_IP |
|
|
ipv4_address: $APP_LIGHTNING_NODE_IP |
|
|
|
|
|
|
|
|
|
|
|
tor: |
|
|
|
|
|
image: getumbrel/tor:0.4.7.8@sha256:2ace83f22501f58857fa9b403009f595137fa2e7986c4fda79d82a8119072b6a |
|
|
|
|
|
user: "1000:1000" |
|
|
|
|
|
restart: on-failure |
|
|
|
|
|
volumes: |
|
|
|
|
|
- ${APP_DATA_DIR}/torrc:/etc/tor/torrc:ro |
|
|
|
|
|
- ${TOR_DATA_DIR}:/data |
|
|
|
|
|
environment: |
|
|
|
|
|
HOME: "/tmp" |
|
@ -0,0 +1,26 @@ |
|
|
|
|
|
#!/usr/bin/env bash |
|
|
|
|
|
|
|
|
|
|
|
# Delay booting Lightning until the GRPC and REST Tor Hidden Services are ready |
|
|
|
|
|
|
|
|
|
|
|
HIDDEN_SERVICE_FILE="${TOR_DATA_DIR}/app-${APP_ID}-grpc/hostname" |
|
|
|
|
|
|
|
|
|
|
|
if [[ -f "${HIDDEN_SERVICE_FILE}" ]]; then |
|
|
|
|
|
exit |
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
"${UMBREL_ROOT}/scripts/app" compose "${APP_ID}" up --detach lnd |
|
|
|
|
|
"${UMBREL_ROOT}/scripts/app" compose "${APP_ID}" up --detach tor |
|
|
|
|
|
|
|
|
|
|
|
echo "App: ${APP_ID} - Generating Tor Hidden Service..." |
|
|
|
|
|
|
|
|
|
|
|
for attempt in $(seq 1 100); do |
|
|
|
|
|
if [[ -f "${HIDDEN_SERVICE_FILE}" ]]; then |
|
|
|
|
|
echo "App: ${APP_ID} - Hidden service file created successfully!" |
|
|
|
|
|
break |
|
|
|
|
|
fi |
|
|
|
|
|
sleep 0.1 |
|
|
|
|
|
done |
|
|
|
|
|
|
|
|
|
|
|
if [[ ! -f "${HIDDEN_SERVICE_FILE}" ]]; then |
|
|
|
|
|
echo "App: ${APP_ID} - Hidden service file wasn't created" |
|
|
|
|
|
fi |
|
@ -4,8 +4,4 @@ HiddenServicePort $APP_LIGHTNING_NODE_REST_PORT $APP_LIGHTNING_NODE_IP:$APP_LIGH |
|
|
|
|
|
|
|
|
# LND gRPC Hidden Service |
|
|
# LND gRPC Hidden Service |
|
|
HiddenServiceDir /data/app-$APP_ID-grpc |
|
|
HiddenServiceDir /data/app-$APP_ID-grpc |
|
|
HiddenServicePort $APP_LIGHTNING_NODE_GRPC_PORT $APP_LIGHTNING_NODE_IP:$APP_LIGHTNING_NODE_GRPC_PORT |
|
|
HiddenServicePort $APP_LIGHTNING_NODE_GRPC_PORT $APP_LIGHTNING_NODE_IP:$APP_LIGHTNING_NODE_GRPC_PORT |
|
|
|
|
|
|
|
|
# LND Frontend Hidden Service |
|
|
|
|
|
HiddenServiceDir /data/app-$APP_ID |
|
|
|
|
|
HiddenServicePort 80 $APP_PROXY_HOSTNAME:$APP_PROXY_PORT |
|
|
|
|
@ -1,4 +1,4 @@ |
|
|
manifestVersion: 1 |
|
|
manifestVersion: 1.1 |
|
|
id: lightning |
|
|
id: lightning |
|
|
category: Finance |
|
|
category: Finance |
|
|
name: Lightning Node |
|
|
name: Lightning Node |
|
|
|
@ -144,3 +144,13 @@ services: |
|
|
networks: |
|
|
networks: |
|
|
default: |
|
|
default: |
|
|
ipv4_address: $APP_SAMOURAI_SERVER_IP |
|
|
ipv4_address: $APP_SAMOURAI_SERVER_IP |
|
|
|
|
|
|
|
|
|
|
|
tor: |
|
|
|
|
|
image: getumbrel/tor:0.4.7.8@sha256:2ace83f22501f58857fa9b403009f595137fa2e7986c4fda79d82a8119072b6a |
|
|
|
|
|
user: "1000:1000" |
|
|
|
|
|
restart: on-failure |
|
|
|
|
|
volumes: |
|
|
|
|
|
- ${APP_DATA_DIR}/torrc:/etc/tor/torrc:ro |
|
|
|
|
|
- ${TOR_DATA_DIR}:/data |
|
|
|
|
|
environment: |
|
|
|
|
|
HOME: "/tmp" |
|
|
|
@ -0,0 +1,27 @@ |
|
|
|
|
|
#!/usr/bin/env bash |
|
|
|
|
|
|
|
|
|
|
|
# Delay booting Samourai Server until the Dojo and Whirlpool Tor Hidden Services are ready |
|
|
|
|
|
|
|
|
|
|
|
HIDDEN_SERVICE_FILE="${TOR_DATA_DIR}/app-${APP_ID}-whirlpool/hostname" |
|
|
|
|
|
|
|
|
|
|
|
if [[ -f "${HIDDEN_SERVICE_FILE}" ]]; then |
|
|
|
|
|
exit |
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
"${UMBREL_ROOT}/scripts/app" compose "${APP_ID}" up --detach nginx |
|
|
|
|
|
"${UMBREL_ROOT}/scripts/app" compose "${APP_ID}" up --detach whirlpool |
|
|
|
|
|
"${UMBREL_ROOT}/scripts/app" compose "${APP_ID}" up --detach tor |
|
|
|
|
|
|
|
|
|
|
|
echo "App: ${APP_ID} - Generating Tor Hidden Service..." |
|
|
|
|
|
|
|
|
|
|
|
for attempt in $(seq 1 100); do |
|
|
|
|
|
if [[ -f "${HIDDEN_SERVICE_FILE}" ]]; then |
|
|
|
|
|
echo "App: ${APP_ID} - Hidden service file created successfully!" |
|
|
|
|
|
break |
|
|
|
|
|
fi |
|
|
|
|
|
sleep 0.1 |
|
|
|
|
|
done |
|
|
|
|
|
|
|
|
|
|
|
if [[ ! -f "${HIDDEN_SERVICE_FILE}" ]]; then |
|
|
|
|
|
echo "App: ${APP_ID} - Hidden service file wasn't created" |
|
|
|
|
|
fi |
|
@ -1,11 +1,7 @@ |
|
|
# samourai-server dojo Hidden Service |
|
|
# samourai-server dojo Hidden Service |
|
|
HiddenServiceDir /data/app-samourai-server-dojo |
|
|
HiddenServiceDir /data/app-$APP_ID-dojo |
|
|
HiddenServicePort 80 $APP_SAMOURAI_SERVER_IP:80 |
|
|
HiddenServicePort 80 $APP_SAMOURAI_SERVER_IP:80 |
|
|
|
|
|
|
|
|
# samourai-server whirlpool Hidden Service |
|
|
# samourai-server whirlpool Hidden Service |
|
|
HiddenServiceDir /data/app-samourai-server-whirlpool |
|
|
HiddenServiceDir /data/app-$APP_ID-whirlpool |
|
|
HiddenServicePort 80 $APP_SAMOURAI_SERVER_WHIRLPOOL_IP:$APP_SAMOURAI_SERVER_WHIRLPOOL_PORT |
|
|
HiddenServicePort 80 $APP_SAMOURAI_SERVER_WHIRLPOOL_IP:$APP_SAMOURAI_SERVER_WHIRLPOOL_PORT |
|
|
|
|
|
|
|
|
# samourai-server connect Hidden Service |
|
|
|
|
|
HiddenServiceDir /data/app-samourai-server |
|
|
|
|
|
HiddenServicePort 80 $APP_SAMOURAI_SERVER_IP:8081 |
|
|
|
|
@ -1,4 +1,4 @@ |
|
|
manifestVersion: 1 |
|
|
manifestVersion: 1.1 |
|
|
id: samourai-server |
|
|
id: samourai-server |
|
|
category: Wallet Servers |
|
|
category: Wallet Servers |
|
|
name: Samourai Server |
|
|
name: Samourai Server |
|
|
|
@ -1,2 +1,3 @@ |
|
|
export APP_SPHINX_RELAY_IP="10.21.21.14" |
|
|
export APP_SPHINX_RELAY_IP="10.21.21.14" |
|
|
export APP_SPHINX_RELAY_PORT="3300" |
|
|
export APP_SPHINX_RELAY_PORT="3300" |
|
|
|
|
|
export APP_SPHINX_TOR_HS_EXTRA_PORTS="${APP_SPHINX_RELAY_PORT}:${APP_SPHINX_RELAY_IP}:${APP_SPHINX_RELAY_PORT}" |
|
@ -1,6 +0,0 @@ |
|
|
# sphinx-relay Hidden Service |
|
|
|
|
|
# We expose 80 for the connection string UI and $APP_SPHINX_RELAY_PORT for the |
|
|
|
|
|
# actual server connection |
|
|
|
|
|
HiddenServiceDir /data/app-sphinx-relay |
|
|
|
|
|
HiddenServicePort 80 $APP_SPHINX_RELAY_IP:$APP_SPHINX_RELAY_PORT |
|
|
|
|
|
HiddenServicePort $APP_SPHINX_RELAY_PORT $APP_SPHINX_RELAY_IP:$APP_SPHINX_RELAY_PORT |
|
|
|
|
@ -1,4 +1,4 @@ |
|
|
manifestVersion: 1 |
|
|
manifestVersion: 1.1 |
|
|
id: sphinx-relay |
|
|
id: sphinx-relay |
|
|
category: Social |
|
|
category: Social |
|
|
name: Sphinx Relay |
|
|
name: Sphinx Relay |
|
|
|
@ -31,8 +31,8 @@ services: |
|
|
SQUEAKNODE_LIGHTNING_LND_MACAROON_PATH: "/lnd/data/chain/bitcoin/$APP_BITCOIN_NETWORK/admin.macaroon" |
|
|
SQUEAKNODE_LIGHTNING_LND_MACAROON_PATH: "/lnd/data/chain/bitcoin/$APP_BITCOIN_NETWORK/admin.macaroon" |
|
|
|
|
|
|
|
|
# Tor environment variables |
|
|
# Tor environment variables |
|
|
SQUEAKNODE_TOR_PROXY_IP: $TOR_PROXY_IP |
|
|
SQUEAKNODE_TOR_PROXY_IP: "${TOR_PROXY_IP}" |
|
|
SQUEAKNODE_TOR_PROXY_PORT: $TOR_PROXY_PORT |
|
|
SQUEAKNODE_TOR_PROXY_PORT: "${TOR_PROXY_PORT}" |
|
|
|
|
|
|
|
|
# App specific environment variables |
|
|
# App specific environment variables |
|
|
SQUEAKNODE_WEBADMIN_ENABLED: "true" |
|
|
SQUEAKNODE_WEBADMIN_ENABLED: "true" |
|
@ -49,3 +49,13 @@ services: |
|
|
networks: |
|
|
networks: |
|
|
default: |
|
|
default: |
|
|
ipv4_address: $APP_SQUEAKNODE_IP |
|
|
ipv4_address: $APP_SQUEAKNODE_IP |
|
|
|
|
|
|
|
|
|
|
|
tor: |
|
|
|
|
|
image: getumbrel/tor:0.4.7.8@sha256:2ace83f22501f58857fa9b403009f595137fa2e7986c4fda79d82a8119072b6a |
|
|
|
|
|
user: "1000:1000" |
|
|
|
|
|
restart: on-failure |
|
|
|
|
|
volumes: |
|
|
|
|
|
- ${APP_DATA_DIR}/torrc:/etc/tor/torrc:ro |
|
|
|
|
|
- ${TOR_DATA_DIR}:/data |
|
|
|
|
|
environment: |
|
|
|
|
|
HOME: "/tmp" |
|
@ -0,0 +1,26 @@ |
|
|
|
|
|
#!/usr/bin/env bash |
|
|
|
|
|
|
|
|
|
|
|
# Delay booting Squeaknode until the P2P Tor Hidden Service is ready |
|
|
|
|
|
|
|
|
|
|
|
HIDDEN_SERVICE_FILE="${TOR_DATA_DIR}/app-${APP_ID}-p2p/hostname" |
|
|
|
|
|
|
|
|
|
|
|
if [[ -f "${HIDDEN_SERVICE_FILE}" ]]; then |
|
|
|
|
|
exit |
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
"${UMBREL_ROOT}/scripts/app" compose "${APP_ID}" up --detach web |
|
|
|
|
|
"${UMBREL_ROOT}/scripts/app" compose "${APP_ID}" up --detach tor |
|
|
|
|
|
|
|
|
|
|
|
echo "App: ${APP_ID} - Generating Tor Hidden Service..." |
|
|
|
|
|
|
|
|
|
|
|
for attempt in $(seq 1 100); do |
|
|
|
|
|
if [[ -f "${HIDDEN_SERVICE_FILE}" ]]; then |
|
|
|
|
|
echo "App: ${APP_ID} - Hidden service file created successfully!" |
|
|
|
|
|
break |
|
|
|
|
|
fi |
|
|
|
|
|
sleep 0.1 |
|
|
|
|
|
done |
|
|
|
|
|
|
|
|
|
|
|
if [[ ! -f "${HIDDEN_SERVICE_FILE}" ]]; then |
|
|
|
|
|
echo "App: ${APP_ID} - Hidden service file wasn't created" |
|
|
|
|
|
fi |
|
@ -1,8 +1,4 @@ |
|
|
# squeaknode p2p Hidden Service |
|
|
# squeaknode p2p Hidden Service |
|
|
HiddenServiceDir /data/app-squeaknode-p2p |
|
|
HiddenServiceDir /data/app-$APP_ID-p2p |
|
|
HiddenServicePort $APP_SQUEAKNODE_P2P_PORT $APP_SQUEAKNODE_IP:$APP_SQUEAKNODE_P2P_PORT |
|
|
HiddenServicePort $APP_SQUEAKNODE_P2P_PORT $APP_SQUEAKNODE_IP:$APP_SQUEAKNODE_P2P_PORT |
|
|
HiddenServicePort $APP_SQUEAKNODE_P2P_TESTNET_PORT $APP_SQUEAKNODE_IP:$APP_SQUEAKNODE_P2P_TESTNET_PORT |
|
|
HiddenServicePort $APP_SQUEAKNODE_P2P_TESTNET_PORT $APP_SQUEAKNODE_IP:$APP_SQUEAKNODE_P2P_TESTNET_PORT |
|
|
|
|
|
|
|
|
# squeaknode Hidden Service |
|
|
|
|
|
HiddenServiceDir /data/app-squeaknode |
|
|
|
|
|
HiddenServicePort 80 $APP_SQUEAKNODE_IP:$APP_SQUEAKNODE_PORT |
|
|
|
|
@ -1,4 +1,4 @@ |
|
|
manifestVersion: 1 |
|
|
manifestVersion: 1.1 |
|
|
id: squeaknode |
|
|
id: squeaknode |
|
|
category: Social |
|
|
category: Social |
|
|
name: Squeaknode |
|
|
name: Squeaknode |
|
|
|
@ -58,3 +58,13 @@ services: |
|
|
networks: |
|
|
networks: |
|
|
default: |
|
|
default: |
|
|
ipv4_address: $APP_SUREDBITS_WALLET_SERVER_IP |
|
|
ipv4_address: $APP_SUREDBITS_WALLET_SERVER_IP |
|
|
|
|
|
|
|
|
|
|
|
tor: |
|
|
|
|
|
image: getumbrel/tor:0.4.7.8@sha256:2ace83f22501f58857fa9b403009f595137fa2e7986c4fda79d82a8119072b6a |
|
|
|
|
|
user: "1000:1000" |
|
|
|
|
|
restart: on-failure |
|
|
|
|
|
volumes: |
|
|
|
|
|
- ${APP_DATA_DIR}/torrc:/etc/tor/torrc:ro |
|
|
|
|
|
- ${TOR_DATA_DIR}:/data |
|
|
|
|
|
environment: |
|
|
|
|
|
HOME: "/tmp" |
|
@ -0,0 +1,26 @@ |
|
|
|
|
|
#!/usr/bin/env bash |
|
|
|
|
|
|
|
|
|
|
|
# Delay booting Suredbits Wallet until the P2P Tor Hidden Service is ready |
|
|
|
|
|
|
|
|
|
|
|
HIDDEN_SERVICE_FILE="${TOR_DATA_DIR}/app-${APP_ID}-p2p/hostname" |
|
|
|
|
|
|
|
|
|
|
|
if [[ -f "${HIDDEN_SERVICE_FILE}" ]]; then |
|
|
|
|
|
exit |
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
"${UMBREL_ROOT}/scripts/app" compose "${APP_ID}" up --detach walletserver |
|
|
|
|
|
"${UMBREL_ROOT}/scripts/app" compose "${APP_ID}" up --detach tor |
|
|
|
|
|
|
|
|
|
|
|
echo "App: ${APP_ID} - Generating Tor Hidden Service..." |
|
|
|
|
|
|
|
|
|
|
|
for attempt in $(seq 1 100); do |
|
|
|
|
|
if [[ -f "${HIDDEN_SERVICE_FILE}" ]]; then |
|
|
|
|
|
echo "App: ${APP_ID} - Hidden service file created successfully!" |
|
|
|
|
|
break |
|
|
|
|
|
fi |
|
|
|
|
|
sleep 0.1 |
|
|
|
|
|
done |
|
|
|
|
|
|
|
|
|
|
|
if [[ ! -f "${HIDDEN_SERVICE_FILE}" ]]; then |
|
|
|
|
|
echo "App: ${APP_ID} - Hidden service file wasn't created" |
|
|
|
|
|
fi |
|
@ -1,7 +1,3 @@ |
|
|
# suredbits-wallet p2p Hidden Service |
|
|
# suredbits-wallet p2p Hidden Service |
|
|
HiddenServiceDir /data/app-suredbits-wallet-p2p |
|
|
HiddenServiceDir /data/app-$APP_ID-p2p |
|
|
HiddenServicePort $APP_SUREDBITS_WALLET_P2P_PORT $APP_SUREDBITS_WALLET_SERVER_IP:$APP_SUREDBITS_WALLET_P2P_PORT |
|
|
HiddenServicePort $APP_SUREDBITS_WALLET_P2P_PORT $APP_SUREDBITS_WALLET_SERVER_IP:$APP_SUREDBITS_WALLET_P2P_PORT |
|
|
|
|
|
|
|
|
# suredbits-wallet Hidden Service |
|
|
|
|
|
HiddenServiceDir /data/app-suredbits-wallet |
|
|
|
|
|
HiddenServicePort 80 $APP_SUREDBITS_WALLET_IP:3002 |
|
|
|
|
@ -1,4 +1,4 @@ |
|
|
manifestVersion: 1 |
|
|
manifestVersion: 1.1 |
|
|
id: suredbits-wallet |
|
|
id: suredbits-wallet |
|
|
category: Finance |
|
|
category: Finance |
|
|
name: Suredbits Wallet |
|
|
name: Suredbits Wallet |
|
|
|
@ -1,2 +1,3 @@ |
|
|
export APP_SYNAPSE_IP="10.21.21.44" |
|
|
export APP_SYNAPSE_IP="10.21.21.44" |
|
|
export APP_SYNAPSE_PORT="8008" |
|
|
export APP_SYNAPSE_PORT="8008" |
|
|
|
|
|
export APP_SYNAPSE_TOR_HS_EXTRA_PORTS="${APP_SYNAPSE_PORT}:${APP_SYNAPSE_IP}:${APP_SYNAPSE_PORT}" |
|
@ -1,4 +0,0 @@ |
|
|
# synapse Hidden Service |
|
|
|
|
|
HiddenServiceDir /data/app-synapse |
|
|
|
|
|
HiddenServicePort 80 $APP_SYNAPSE_IP:$APP_SYNAPSE_PORT |
|
|
|
|
|
HiddenServicePort $APP_SYNAPSE_PORT $APP_SYNAPSE_IP:$APP_SYNAPSE_PORT |
|
|
|
|
@ -1,4 +1,4 @@ |
|
|
manifestVersion: 1 |
|
|
manifestVersion: 1.1 |
|
|
id: synapse |
|
|
id: synapse |
|
|
category: Social |
|
|
category: Social |
|
|
name: Synapse |
|
|
name: Synapse |
|
|