Merge branch 'MontejoJorge-app/bitcoind'

This commit is contained in:
Nicolas Meienberger 2024-03-18 22:18:26 +01:00
commit 9b7d7ca39d
4 changed files with 137 additions and 0 deletions

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

@ -0,0 +1,62 @@
{
"$schema": "../schema.json",
"name": "Bitcoin",
"available": true,
"exposable": false,
"no_gui": true,
"port": 8333,
"id": "bitcoind",
"description": "Bitcoin core node",
"tipi_version": 1,
"version": "26.0",
"categories": [
"finance"
],
"short_desc": "Bitcoin core node",
"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": "BITCOIND_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": "BITCOIND_MAX_MEMPOOL"
},
{
"type": "text",
"label": "Listen for Incoming Connections",
"hint": "Accept incoming connections from peers.",
"required": false,
"env_variable": "BITCOIND_LISTEN",
"options": [
{
"label": "Yes",
"value": "1"
},
{
"label": "No",
"value": "0"
}
]
},
{
"type": "number",
"label": "Max Peer Connections",
"hint": "Maintain at most N connections to peers. Leave empty for default 125.",
"required": false,
"env_variable": "BITCOIND_MAXPEERS"
}
],
"supported_architectures": [
"amd64",
"arm64"
]
}

View File

@ -0,0 +1,47 @@
version: '3.9'
services:
bitcoind:
container_name: bitcoind
image: lncm/bitcoind:v26.0
user: 0:0
volumes:
- ${APP_DATA_DIR}/data:/root/.bitcoin
ports:
- ${APP_PORT}:8333
- 8332:8332
- 28332:28332
- 28333:28333
restart: unless-stopped
stop_grace_period: 15m30s
command: >-
--dbcache=${BITCOIND_DB_CACHE:-450}
--maxmempool=${BITCOIND_MAX_MEMPOOL:-300}
--listen=${BITCOIND_LISTEN:-0}
--maxconnections=${BITCOIND_MAXPEERS:-125}
networks:
- tipi_main_network
labels:
# Main
traefik.enable: true
traefik.http.middlewares.bitcoind-web-redirect.redirectscheme.scheme: https
traefik.http.services.bitcoind.loadbalancer.server.port: 3333
# Web
traefik.http.routers.bitcoind-insecure.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.bitcoind-insecure.entrypoints: web
traefik.http.routers.bitcoind-insecure.service: bitcoind
traefik.http.routers.bitcoind-insecure.middlewares: bitcoind-web-redirect
# Websecure
traefik.http.routers.bitcoind.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.bitcoind.entrypoints: websecure
traefik.http.routers.bitcoind.service: bitcoind
traefik.http.routers.bitcoind.tls.certresolver: myresolver
# Local domain
traefik.http.routers.bitcoind-local-insecure.rule: Host(`bitcoind.${LOCAL_DOMAIN}`)
traefik.http.routers.bitcoind-local-insecure.entrypoints: web
traefik.http.routers.bitcoind-local-insecure.service: bitcoind
traefik.http.routers.bitcoind-local-insecure.middlewares: bitcoind-web-redirect
# Local domain secure
traefik.http.routers.bitcoind-local.rule: Host(`bitcoind.${LOCAL_DOMAIN}`)
traefik.http.routers.bitcoind-local.entrypoints: websecure
traefik.http.routers.bitcoind-local.service: bitcoind
traefik.http.routers.bitcoind-local.tls: true

View File

@ -0,0 +1,28 @@
# Bitcoin core
Bitcoin Core is free and open-source software that serves as a bitcoin node.
### Warning
The current size of the bitcoin blockchain is [more than 500 GB.](https://ycharts.com/indicators/bitcoin_blockchain_size)
## What Is A Full Node?
A full node is a program that fully validates transactions and blocks. Almost all full nodes also help the network by accepting transactions and blocks from other full nodes, validating those transactions and blocks, and then relaying them to further full nodes.
Most full nodes also serve lightweight clients by allowing them to transmit their transactions to the network and by notifying them when a transaction affects their wallet. If not enough nodes perform this function, clients wont be able to connect through the peer-to-peer network—theyll have to use centralized services instead.
Many people and organizations volunteer to run full nodes using spare computing and bandwidth resources—but more volunteers are needed to allow Bitcoin to continue to grow. This document describes how you can help and what helping will cost you.
## Minimum Requirements
Bitcoin Core full nodes have certain requirements. If you try running a node on weak hardware, it may work—but youll likely spend more time dealing with issues. If you can meet the following requirements, youll have an easy-to-use node.
- Desktop or laptop hardware running recent versions of Windows, Mac OS X, or Linux.
- 7 gigabytes of free disk space, accessible at a minimum read/write speed of 100 MB/s.
- 2 gigabytes of memory (RAM)
- A broadband Internet connection with upload speeds of at least 400 kilobits (50 kilobytes) per second
- An unmetered connection, a connection with high upload limits, or a connection you regularly monitor to ensure it doesnt exceed its upload limits. Its common for full nodes on high-speed connections to use 200 gigabytes upload or more a month. Download usage is around 20 gigabytes a month, plus around an additional 500 gigabytes the first time you start your node.

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 KiB