Initial commit

This commit is contained in:
pablo 2023-02-18 19:19:14 +01:00
commit 7a4c879eb9
4 changed files with 146 additions and 0 deletions

10
.env-example Normal file
View file

@ -0,0 +1,10 @@
BITCOIN_IP_ADDRESS=<BITCOIN_IP_ADDRESS>
ELECTRS_IP_ADDRESS=<ELECTRS_IP_ADDRESS>
BITCOIN_RPC_USER=<BITCOIN_RPC_USER>
BITCOIN_RPC_PASSWORD=<BITCOIN_RPC_PASSWORD>
MEMPOOL_MYSQL_DATABASE=<MEMPOOL_MYSQL_DATABASE>
MEMPOOL_MYSQL_USER=<MEMPOOL_MYSQL_USER>
MEMPOOL_MYSQL_PASSWORD=<MEMPOOL_MYSQL_PASSWORD>
MEMPOOL_MYSQL_ROOT_PASSWORD=<MEMPOOL_MYSQL_ROOT_PASSWORD>

3
.gitignore vendored Normal file
View file

@ -0,0 +1,3 @@
.env
data/

115
docker-compose.yaml Normal file
View file

@ -0,0 +1,115 @@
version: '3'
services:
bitcoin:
container_name: bitcoind
image: lncm/bitcoind:v22.0
volumes:
- ./data/bitcoin:/data/.bitcoin
restart: unless-stopped
stop_grace_period: 15m30s
networks:
counterweight-network:
ipv4_address: ${BITCOIN_IP_ADDRESS}
ports:
- "8333:8333"
- "8332:8332"
- "28332:28332"
- "28333:28333"
electrs:
container_name: electrs
image: my-electrs
depends_on: [bitcoin]
volumes:
- ./data/bitcoin:/home/bitcoin/data
- ./data/electrs/index:/home/electrs/data/index
- ./data/electrs/config:/etc/electrs
restart: on-failure
stop_grace_period: 5m
networks:
counterweight-network:
ipv4_address: ${ELECTRS_IP_ADDRESS}
ports:
- "50001:50001"
mempool-web:
container_name: mempool-web
environment:
FRONTEND_HTTP_PORT: "8080"
BACKEND_MAINNET_HTTP_HOST: "mempool-api"
depends_on: [mempool-api]
image: mempool/frontend:latest
user: "1000:1000"
restart: on-failure
stop_grace_period: 1m
command: "./wait-for mempool-db:3306 --timeout=720 -- nginx -g 'daemon off;'"
ports:
- 3333:8080
networks:
counterweight-network:
mempool-api:
container_name: mempool-api
environment:
MEMPOOL_BACKEND: "electrum"
CORE_RPC_HOST: ${BITCOIN_IP_ADDRESS}
CORE_RPC_PORT: "8332"
CORE_RPC_USERNAME: ${BITCOIN_RPC_USER}
CORE_RPC_PASSWORD: ${BITCOIN_RPC_PASSWORD}
ELECTRUM_HOST: ${ELECTRS_IP_ADDRESS}
ELECTRUM_PORT: "50001"
ELECTRUM_TLS_ENABLED: "false"
DATABASE_ENABLED: "true"
DATABASE_HOST: "mempool-db"
DATABASE_DATABASE: ${MEMPOOL_MYSQL_DATABASE}
DATABASE_USERNAME: ${MEMPOOL_MYSQL_USER}
DATABASE_PASSWORD: ${MEMPOOL_MYSQL_PASSWORD}
STATISTICS_ENABLED: "true"
depends_on: [mempool-db]
image: mempool/backend:latest
user: "1000:1000"
restart: on-failure
stop_grace_period: 1m
command: "./wait-for-it.sh mempool-db:3306 --timeout=720 --strict -- ./start.sh"
volumes:
- ./data/mempool/data:/backend/cache
networks:
counterweight-network:
mempool-db:
container_name: mempool-db
environment:
MYSQL_DATABASE: ${MEMPOOL_MYSQL_DATABASE}
MYSQL_USER: ${MEMPOOL_MYSQL_USER}
MYSQL_PASSWORD: ${MEMPOOL_MYSQL_PASSWORD}
MYSQL_ROOT_PASSWORD: ${MEMPOOL_MYSQL_ROOT_PASSWORD}
depends_on: [bitcoin, electrs]
image: mariadb:10.5.8
user: "1000:1000"
restart: on-failure
stop_grace_period: 1m
volumes:
- ./data/mempool/mysql/data:/var/lib/mysql
networks:
counterweight-network:
lnbits:
container_name: lnbits
image: lnbitsdocker/lnbits-legend:0.9.7
volumes:
- ./data/lnbits/.env:/app/.env
- ./data/lnbits/data/:/app/data
depends_on: [bitcoin]
restart: unless-stopped
ports:
- "5000:5000"
networks:
counterweight-network:
networks:
counterweight-network:
driver: bridge
ipam:
config:
- subnet: 10.5.0.0/16
gateway: 10.5.0.1

View file

@ -0,0 +1,18 @@
FROM debian:bullseye
RUN apt update
RUN apt install -y \
clang \
cmake \
build-essential \
git \
cargo
RUN git clone https://github.com/romanz/electrs
WORKDIR electrs
RUN ls -la
RUN cargo build --locked --release
CMD target/release/electrs