diff --git a/apps/jam/data/joinmarket/.gitkeep b/apps/jam/data/joinmarket/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/apps/jam/docker-compose.yml b/apps/jam/docker-compose.yml new file mode 100644 index 0000000..7948431 --- /dev/null +++ b/apps/jam/docker-compose.yml @@ -0,0 +1,33 @@ +version: "3.7" + +services: + jam: + image: ghcr.io/joinmarket-webui/joinmarket-webui-standalone:v0.0.3-clientserver-v0.9.5@sha256:d33817e4daec4ddaaf95a1c08e54f50cff4893b7d8c5b3bbe8b179ced74bbaa2 + restart: on-failure + stop_grace_period: 1m + init: true + ports: + - "$APP_JAM_PORT:80" + volumes: + - ${APP_DATA_DIR}/data/joinmarket:/root/.joinmarket + environment: + ENSURE_WALLET: 1 + APP_USER: umbrel + APP_PASSWORD: "${APP_PASSWORD}" + jm_tor_control_host: $TOR_PROXY_IP + jm_tor_control_port: 29051 + jm_onion_socks5_host: $TOR_PROXY_IP + jm_onion_socks5_port: $TOR_PROXY_PORT + jm_socks5_host: $TOR_PROXY_IP + jm_socks5_port: $TOR_PROXY_PORT + jm_rpc_host: $BITCOIN_IP + jm_rpc_port: $BITCOIN_RPC_PORT + jm_rpc_user: $BITCOIN_RPC_USER + jm_rpc_password: "${BITCOIN_RPC_PASS}" + jm_rpc_wallet_file: jam_default + jm_network: $BITCOIN_NETWORK + jm_max_cj_fee_abs: 30000 # in sats + jm_max_cj_fee_rel: 0.0003 # 0.03% + networks: + default: + ipv4_address: $APP_JAM_IP diff --git a/apps/registry.json b/apps/registry.json index 6c83ce0..e02317a 100644 --- a/apps/registry.json +++ b/apps/registry.json @@ -475,6 +475,31 @@ "defaultUsername": "", "deterministicPassword": true }, + { + "id": "jam", + "category": "Wallets", + "name": "Jam", + "version": "v0.0.3", + "tagline": "A user-friendly UI for JoinMarket", + "description": "Jam is a user-interface for JoinMarket with a focus on user-friendliness.\nIt is time for top-notch privacy for your bitcoin. Widespread use of JoinMarket improves bitcoin's fungibility and privacy for all.\n\nThe app provides sensible defaults and is easy to use for beginners while still providing the features advanced users expect.", + "developer": "JoinMarket WebUI Organisation", + "website": "https://github.com/joinmarket-webui", + "dependencies": [ + "bitcoind" + ], + "repo": "https://github.com/joinmarket-webui/joinmarket-webui", + "support": "https://github.com/joinmarket-webui/joinmarket-webui/issues", + "port": 5002, + "gallery": [ + "1.jpg", + "2.jpg", + "3.jpg" + ], + "path": "", + "defaultUsername": "umbrel", + "defaultPassword": "", + "deterministicPassword": true + }, { "id": "lnbits", "category": "Finance", diff --git a/scripts/configure b/scripts/configure index 61b4380..157ff88 100755 --- a/scripts/configure +++ b/scripts/configure @@ -250,6 +250,8 @@ APP_URBIT_BITCOIN_CONNECTOR_SERVER_PORT="55555" APP_SNOWFLAKE_IP="10.21.21.82" APP_SNOWFLAKE_PORT="3800" APP_SNOWFLAKE_PROXY_IP="10.21.21.83" +APP_JAM_IP="10.21.21.84" +APP_JAM_PORT="5002" # Generate RPC credentials if [[ -z ${BITCOIN_RPC_USER+x} ]] || [[ -z ${BITCOIN_RPC_PASS+x} ]] || [[ -z ${BITCOIN_RPC_AUTH+x} ]]; then @@ -500,6 +502,8 @@ for template in "${NGINX_CONF_FILE}" "${BITCOIN_CONF_FILE}" "${LND_CONF_FILE}" " sed -i "s//${APP_SNOWFLAKE_IP}/g" "${template}" sed -i "s//${APP_SNOWFLAKE_PORT}/g" "${template}" sed -i "s//${APP_SNOWFLAKE_PROXY_IP}/g" "${template}" + sed -i "s//${APP_JAM_IP}/g" "${template}" + sed -i "s//${APP_JAM_PORT}/g" "${template}" done ########################################################## diff --git a/templates/.env-sample b/templates/.env-sample index e6881dc..878fef1 100644 --- a/templates/.env-sample +++ b/templates/.env-sample @@ -147,4 +147,6 @@ APP_URBIT_BITCOIN_CONNECTOR_PORT= APP_URBIT_BITCOIN_CONNECTOR_SERVER_PORT= APP_SNOWFLAKE_IP= APP_SNOWFLAKE_PORT= -APP_SNOWFLAKE_PROXY_IP= \ No newline at end of file +APP_SNOWFLAKE_PROXY_IP= +APP_JAM_IP= +APP_JAM_PORT= \ No newline at end of file diff --git a/templates/torrc-server-sample b/templates/torrc-server-sample index 3cb4cbc..9d7994e 100644 --- a/templates/torrc-server-sample +++ b/templates/torrc-server-sample @@ -217,3 +217,7 @@ HiddenServicePort 80 :