App/electrs (#3336)

* add electrs

* add user

* change config

* add electrs app

* Apply suggestions from code review

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* make bitcoin volume read only

* add required apps section

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
This commit is contained in:
Jorge Montejo 2024-06-12 21:37:30 +02:00 committed by GitHub
parent 6ca3454584
commit 91e1d4470a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 114 additions and 0 deletions

38
apps/electrs/config.json Normal file
View File

@ -0,0 +1,38 @@
{
"$schema": "../schema.json",
"name": "Electrs",
"available": true,
"exposable": false,
"no_gui": false,
"port": 3006,
"id": "electrs",
"description": "Electrum server",
"tipi_version": 1,
"version": "0.10.2",
"categories": [
"finance"
],
"short_desc": "Electrum server",
"author": "romanz",
"source": "https://github.com/romanz/electrs",
"supported_architectures": [
"amd64",
"arm64"
],
"form_fields": [
{
"type": "text",
"label": "Bitcoin data folder location (for .cookie file)",
"hint": "Default, tipi bitcoin folder",
"required": false,
"env_variable": "BITCOIND_DIR"
},
{
"type": "text",
"label": "Bitcoin node host address",
"hint": "Default, tipi bitcoin host",
"required": false,
"env_variable": "BITCOIND_HOST"
}
]
}

View File

@ -0,0 +1,64 @@
version: '3.9'
services:
electrs-ui:
container_name: electrs-ui
image: ghcr.io/montejojorge/electrs-ui:v0.9.2
restart: unless-stopped
volumes:
- ${BITCOIND_DIR:-${APP_DATA_DIR}/../bitcoind/data}:/data/.bitcoin:ro
environment:
BITCOIND_DIR: /data/.bitcoin
ELECTRUM_LOCAL_DOMAIN: runtipi.home
ELECTRUM_IP_ADDRESS: ${INTERNAL_IP}
ELECTRS_HOST: electrs
BITCOIND_HOST: ${BITCOIND_HOST:-bitcoind}
ports:
- ${APP_PORT}:3006
networks:
- tipi_main_network
labels:
# Main
traefik.enable: true
traefik.http.middlewares.electrs-web-redirect.redirectscheme.scheme: https
traefik.http.services.electrs.loadbalancer.server.port: 3006
# Web
traefik.http.routers.electrs-insecure.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.electrs-insecure.entrypoints: web
traefik.http.routers.electrs-insecure.service: electrs
traefik.http.routers.electrs-insecure.middlewares: electrs-web-redirect
# Websecure
traefik.http.routers.electrs.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.electrs.entrypoints: websecure
traefik.http.routers.electrs.service: electrs
traefik.http.routers.electrs.tls.certresolver: myresolver
# Local domain
traefik.http.routers.electrs-local-insecure.rule: Host(`electrs.${LOCAL_DOMAIN}`)
traefik.http.routers.electrs-local-insecure.entrypoints: web
traefik.http.routers.electrs-local-insecure.service: electrs
traefik.http.routers.electrs-local-insecure.middlewares: electrs-web-redirect
# Local domain secure
traefik.http.routers.electrs-local.rule: Host(`electrs.${LOCAL_DOMAIN}`)
traefik.http.routers.electrs-local.entrypoints: websecure
traefik.http.routers.electrs-local.service: electrs
traefik.http.routers.electrs-local.tls: true
electrs:
container_name: electrs
image: getumbrel/electrs:v0.10.2
restart: unless-stopped
stop_grace_period: 15m
user: 0:0
volumes:
- ${BITCOIND_DIR:-${APP_DATA_DIR}/../bitcoind/data}:/data/.bitcoin:ro
- ${APP_DATA_DIR}/data:/data
ports:
- 50001:50001
environment:
- ELECTRS_COOKIE_FILE=/data/.bitcoin/.cookie
- ELECTRS_DB_DIR=/data/db
- ELECTRS_ELECTRUM_RPC_ADDR=0.0.0.0:50001
- ELECTRS_LOG_FILTERS=INFO
- ELECTRS_DAEMON_RPC_ADDR=${BITCOIND_HOST:-bitcoind}:8332
- ELECTRS_DAEMON_P2P_ADDR=${BITCOIND_HOST:-bitcoind}:8333
networks:
- tipi_main_network

View File

@ -0,0 +1,12 @@
# Electrs
Electrum personal server to use bitcoin wallets more secure and more private. It makes it easy to connect your Electrum wallet to your own full node.
### Warning
First index synchronization can take up to a few days, depending on your hardware specifications. See the logs for detailed information.
## Required apps
To be able to run electrs, you need to install this apps first:
- Bitcoin: [Install here](/app-store/bitcoind)
![Electrs UI Screenshot](https://raw.githubusercontent.com/MontejoJorge/electrs-ui/master/electrs-ui-screenshot.png)

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB