commit 7a4c879eb972c017bf51cc940122d2f08682ed91 Author: pablo Date: Sat Feb 18 19:19:14 2023 +0100 Initial commit diff --git a/.env-example b/.env-example new file mode 100644 index 0000000..910dda2 --- /dev/null +++ b/.env-example @@ -0,0 +1,10 @@ +BITCOIN_IP_ADDRESS= +ELECTRS_IP_ADDRESS= + +BITCOIN_RPC_USER= +BITCOIN_RPC_PASSWORD= + +MEMPOOL_MYSQL_DATABASE= +MEMPOOL_MYSQL_USER= +MEMPOOL_MYSQL_PASSWORD= +MEMPOOL_MYSQL_ROOT_PASSWORD= diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c5eef15 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.env +data/ + diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..1f2384f --- /dev/null +++ b/docker-compose.yaml @@ -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 diff --git a/my-electrs-repo/Dockerfile b/my-electrs-repo/Dockerfile new file mode 100644 index 0000000..19b1477 --- /dev/null +++ b/my-electrs-repo/Dockerfile @@ -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