Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

App Submission: Public Pool #915

Merged
merged 10 commits into from Jan 22, 2024
Merged
Show file tree
Hide file tree
Changes from 8 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
11 changes: 11 additions & 0 deletions public-pool/data/proxy/nginx.conf
@@ -0,0 +1,11 @@
server {
listen 80;

location / {
proxy_pass http://public-pool_web_1:80;
}

location ~* ^/api/ {
proxy_pass http://public-pool_server_1:2019;
}
}
47 changes: 47 additions & 0 deletions public-pool/docker-compose.yml
@@ -0,0 +1,47 @@
version: "3.7"

services:
app_proxy:
environment:
APP_HOST: public-pool_proxy_1
APP_PORT: 80
PROXY_AUTH_WHITELIST: "/api/*"

web:
image: smolgrrr/public-pool-ui:0.1.0@sha256:e219808b92a9f52fc5938860a731d317cf6db1d059af3b982b02b48cbe06dc3b
restart: unless-stopped
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can change to on-failure

stop_grace_period: 30s
environment:
- DOMAIN=$DEVICE_DOMAIN_NAME

server:
image: sethforprivacy/public-pool:4bb00f2@sha256:0fc82e7123be68650c9e31f57a5a206e622acbcaa170e31219a488818ad6da6b
restart: unless-stopped
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can change to on-failure

stop_grace_period: 30s
ports:
- "0.0.0.0:2018:2018/tcp"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can remove 0.0.0.0: on the host side here since Docker will default to including this.
If you want, you could even remove /tcp and shorten further to just - "2018:2018", but up to you.

volumes:
- "${APP_DATA_DIR}/data/db/public-pool-db:/public-pool/DB"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to add the db directory to this repo (under the data directory that you have the proxy dir in) and include a .gitkeep within it so that it gets committed to this github repo even when empty.

If you want you can simplify the bind mount to:
- "${APP_DATA_DIR}/data/db:/public-pool/DB"

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oops thanks missed that

environment:
- NODE_ENV=production
- BITCOIN_RPC_URL=http://${APP_BITCOIN_NODE_IP}
- BITCOIN_RPC_USER=${APP_BITCOIN_RPC_USER}
- BITCOIN_RPC_PASSWORD=${APP_BITCOIN_RPC_PASS}
- BITCOIN_RPC_PORT=${APP_BITCOIN_RPC_PORT}
- BITCOIN_RPC_TIMEOUT=10000
- BITCOIN_ZMQ_HOST="tcp://${APP_BITCOIN_NODE_IP}:${APP_BITCOIN_ZMQ_RAWBLOCK_PORT}"
- API_PORT=2019
- STRATUM_PORT=2018
Comment on lines +33 to +34
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I checked and both these ports are available 👌

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now that the stratum server is port 2018, should the first gallery image be changed to reflect that?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

new
yep definitely

- NETWORK=mainnet
- API_SECURE=false
- ENABLE_SOLO=true
- ENABLE_PROXY=false

proxy:
image: nginx:1.25.3@sha256:4c0fdaa8b6341bfdeca5f18f7837462c80cff90527ee35ef185571e1c327beac
volumes:
- ${APP_DATA_DIR}/data/proxy/nginx.conf:/etc/nginx/conf.d/default.conf:ro
depends_on:
- web
- server
restart: on-failure
26 changes: 26 additions & 0 deletions public-pool/umbrel-app.yml
@@ -0,0 +1,26 @@
manifestVersion: 1.1
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This can be changed to 1 since we're not including any hooks

id: public-pool
category: bitcoin
name: Public Pool
version: "4bb00f2"
tagline: Fully Open Source Solo Bitcoin Mining Pool
description: >-
Fully Open Source Solo Bitcoin Mining Pool
Don't trust. Verify. On steroids.
Comment on lines +7 to +11
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we add anything here about connecting a nerdminer, bitaxe, etc? Or just leave as-is?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nah they've all got their own set-up guides, so i didn't think it would be worth adding. but if anyone reaches out asking what URL to use i could add a little extra to the description.

developer: benjamin-wilson
website: https://web.public-pool.io/#/
dependencies:
- bitcoin
repo: https://github.com/benjamin-wilson/public-pool
support: https://github.com/benjamin-wilson/public-pool/issues
port: 2019
gallery:
- 1.jpg
- 2.jpg
- 3.jpg
path: ""
defaultPassword: ""
submitter: smolgrrr
submission: https://github.com/getumbrel/umbrel-apps/pull/915