Seth For Privacy c0187089f4 Optimize final image: runtime libs instead of -dev, pin base image
The final runtime stage installed full -dev packages (headers, static
archives, build-time deps) when only the runtime shared libraries are
needed. Replace them with the runtime-only equivalents, verified via
`ldd` on the built p2pool binary against the pinned base.

Changes:
- Final stage: install runtime libs instead of -dev packages
  (libuv1t64, libzmq5, libsodium23, libpgm-5.3-0t64, libnorm1t64,
  libgssapi-krb5-2, libcurl4t64, libidn2-0). Note the t64 names on
  Ubuntu 24.04 due to the 64-bit time_t transition.
- Pin both stages to ubuntu:24.04 (current LTS) instead of
  ubuntu:latest for reproducible builds. Renovate's docker manager
  keeps this current.
- Add --depth 1 --shallow-submodules to the git clone for faster,
  lighter source checkout.

Local verification (native arm64):
- Build succeeds (exit 0).
- `docker run --rm p2pool:test --help` prints "P2Pool v4.17" + usage.
- `ldd` on the binary in the final image: all libs resolve, none missing.
- Image size: 317MB -> 188MB (-129MB, -41%).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 20:57:26 -04:00
2025-09-28 09:08:39 -04:00
2021-02-10 17:52:52 +00:00

p2pool-docker

A simple and straightforward Dockerized p2pool built from source and exposing standard ports.

Actions

Daily Update Rebuild
Weekly Update Rebuild

Docker Hub

This repo is used to build the images available here on GHCR.

Tags

latest: The daily rebuild from source at https://github.com/SChernykh/p2pool

Recommended usage

NOTE: Remember to replace the host address with your own node (if desired) as well as the Monero address for the --wallet flag, or else you'll be making a kind hashrate donation to me.

docker run -d --name="p2pool" -p 3333:3333 -p 37889:37889 -v p2pool-data:/home/p2pool -v /dev/hugepages:/dev/hugepages:rw ghcr.io/sethforprivacy/p2pool:latest --host 5.9.120.18 --rpc-port 18089 --wallet 468ydghFfthE3UTc53eF5MP9UyrMcUiAHP5kizVYJsej5XGaXBoAAEzUHCcUF7t3E3RrYAX8Rs1ujhBdcvMpZSbH8qkb55R --stratum 0.0.0.0:3333 --p2p 0.0.0.0:37889 --addpeers 65.21.227.114:37889,node.sethforprivacy.com:37889

Copyrights

Code from this repository is released under MIT license. Monero License, @leonardochaia License

Credits

The base for the Dockerfile was pulled from:

https://github.com/leonardochaia/docker-monerod

Description
A simple and straightforward Dockerized p2pool built from source and exposing standard ports.
Readme MIT 978 KiB
Languages
Dockerfile 100%