public-pool/README.md
Arman The Parman d486c778a3
Docker changes (#29)
* Update README.md

I needed to change 
-v .env:.env 
to
-v .env:/.env
to get it to work.
Docker (Linux) was not happy otherwise.

* Update Dockerfile

Added cmake to Dockerfile, so Pi4 (ARM chip) will work.

* Update README.md

Corrected volume mount
2024-02-13 14:41:06 -05:00

90 lines
1.3 KiB
Markdown

## Description
A Nestjs and Typescript Bitcoin stratum mining server.
## Installation
```bash
$ npm install
```
create an new .env file in the root directory and configure it with the parameters in .env.example
## Running the app
```bash
# development
$ npm run start
# watch mode
$ npm run start:dev
# production build
$ npm run build
```
## Test
```bash
# unit tests
$ npm run test
# test coverage
$ npm run test:cov
```
## Web interface
See [public-pool-ui](https://github.com/benjamin-wilson/public-pool-ui)
## Deployment
Install pm2 (https://pm2.keymetrics.io/)
```bash
$ pm2 start dist/main.js
```
## Docker
Build container:
```bash
$ docker build -t public-pool .
```
Run container:
```bash
$ docker container run --name public-pool --rm -p 3333:3333 -p 3334:3334 -p 8332:8332 -v .env:/public-pool/.env public-pool
```
### Docker Compose
Build container:
```bash
$ docker compose build
```
Run container:
```bash
$ docker compose up -d
```
The docker-compose binds to `127.0.0.1` by default. To expose the Stratum services on your server change:
```diff
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.