Files
public-pool/README.md
T
Thomas Shufps 2aa0ebe587 some changes for docker setup (#9)
* added SIGTERM handler for graceful docker shutdown

* added error message

* added example for bitcoind running on the host undockered

* added docker-compose and extended example

* added docker-compose section to README

* addes some note for rpcallowip

* added restart policy

* added DB folder for persistent data

* added $NETWORK as prefix for database path to not get in conflict with testnet setup

* used env variables for stratum and api ports
2023-11-19 14:16:50 -05:00

1.3 KiB

Description

A Nestjs and Typescript Bitcoin stratum mining server.

Installation

$ npm install

create an new .env file in the root directory and configure it with the parameters in .env.example

Running the app

# development
$ npm run start

# watch mode
$ npm run start:dev

# production build
$ npm run build

Test

# unit tests
$ npm run test

# test coverage
$ npm run test:cov

Web interface

See public-pool-ui

Deployment

Install pm2 (https://pm2.keymetrics.io/)

$ pm2 start dist/main.js

Docker

Build container:

$ docker build -t public-pool .

Run container:

$ docker container run --name public-pool --rm -p 3333:3333 -p 3334:3334 -p 8332:8332 -v .env:.env public-pool

Docker Compose

Build container:

$ docker compose build

Run container:

$ docker compose up -d

The docker-compose binds to 127.0.0.1 by default. To expose the Stratum services on your server change:

    ports:
-      - "127.0.0.1:3333:3333/tcp"
-      - "127.0.0.1:3334:3334/tcp"
+      - "3333"
+      - "3334"

note: To successfully connect to the bitcoin RPC you will need to add

rpcallowip=172.16.0.0/12

to your bitcoin.conf.