Add bitcoind app

This commit is contained in:
MontejoJorge 2024-03-11 19:26:28 +01:00
parent 3b89c88571
commit 518fe1e70f
2 changed files with 97 additions and 0 deletions

71
apps/bitcoind/config.json Normal file
View File

@ -0,0 +1,71 @@
{
"$schema": "../schema.json",
"name": "Bitcoin Daemon",
"available": true,
"exposable": false,
"no_gui": true,
"port": 8333,
"id": "bitcoind",
"description": "Bitcoin node daemon",
"tipi_version": 1,
"version": "26.0",
"categories": ["finance"],
"short_desc": "Bitcoin node daemon",
"author": "Bitcoin developers",
"source": "https://github.com/lncm/docker-bitcoind",
"form_fields": [
{
"type": "number",
"label": "DB Cache Size (In mb)",
"hint": "Set database cache size in megabytes; machines sync faster with a larger cache. Recommend setting as high as possible based upon machine's available RAM. Default 450 Mb.",
"required": false,
"env_variable": "DB_CACHE"
},
{
"type": "number",
"label": "Max Mempool Size (In mb)",
"hint": "Keep the transaction memory pool below <n> megabytes. Default 300 Mb.",
"required": false,
"env_variable": "MAX_MEMPOOL"
},
{
"type": "number",
"label": "Listen for Incoming Connections (0 disabled / 1 enabled)",
"hint": "Accept incoming connections from peers. Default disabled.",
"regex": "^[01]$",
"required": false,
"env_variable": "LISTEN"
},
{
"type": "number",
"label": "Max Peer Connections",
"hint": "Maintain at most N connections to peers. Default 125.",
"required": false,
"env_variable": "MAXPEERS"
},
{
"type": "number",
"label": "Enable RPC Server (0 disabled / 1 enabled)",
"hint": "Accept command line and JSON-RPC commands. Default disabled.",
"regex": "^[01]$",
"required": false,
"env_variable": "RPCSERVER"
},
{
"type": "text",
"label": "RPC Auth",
"hint": "Username and hashed password for JSON-RPC connections. The field <userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. RPC clients connect using rpcuser=<USERNAME>/rpcpassword=<PASSWORD> arguments. You can generate this value at https://jlopp.github.io/bitcoin-core-rpc-auth-generator/.",
"required": false,
"env_variable": "RPCAUTH"
},
{
"type": "text",
"label": "RPC Allow IP Address",
"hint": "Allow JSON-RPC connections from specified source. Valid for <ip> are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24).",
"required": false,
"env_variable": "RPCALLOWIP"
}
],
"supported_architectures": ["amd64", "arm64", "arm"]
}

View File

@ -0,0 +1,26 @@
version: '3.9'
services:
bitcoind:
container_name: bitcoind
image: lncm/bitcoind:v26.0
user: 1000:1000
volumes:
- ${APP_DATA_DIR}/data:/data/.bitcoin
ports:
- ${APP_PORT}:8333
- 8332:8332
- 28332:28332
- 28333:28333
restart: unless-stopped
stop_grace_period: 15m30s
command: >-
--dbcache=${DB_CACHE:-450}
--maxmempool=${MAX_MEMPOOL:-300}
--listen=${LISTEN:-0}
--maxconnections=${MAXPEERS:-125}
--server=${RPCSERVER:-0}
--rpcauth=${RPCAUTH}
--rpcallowip=${RPCALLOWIP}
--rpcbind=0.0.0.0
networks:
- tipi_main_network