38 Commits

Author SHA1 Message Date
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
Seth For Privacy
a36f7e0a2f Update GitHub Actions badges in README
Updated GitHub Actions badges to reflect new repository links.
2026-06-21 14:02:50 -04:00
Seth For Privacy
0518013758 Update P2POOL_BRANCH to version v4.17 2026-06-21 14:01:02 -04:00
Seth For Privacy
24185da98c Merge pull request #155 from sethforprivacy/renovate/actions-checkout-7.x
Update actions/checkout action to v7
2026-06-18 15:59:53 -04:00
renovate[bot]
a0610a6215 Update actions/checkout action to v7 2026-06-18 19:52:11 +00:00
Seth For Privacy
f8867c29bb Merge pull request #154 from hundehausen/bump/p2pool-v4.16
Bump P2Pool to version 4.16
2026-06-15 07:54:16 -04:00
hundehausen
6b67d40ec2 Update P2POOL_BRANCH to version 4.16 2026-06-13 18:45:10 +02:00
Seth For Privacy
3d1374df75 Merge pull request #153 from sethforprivacy/renovate/docker-setup-buildx-action-4.x
Update docker/setup-buildx-action action to v4.1.0
2026-05-23 16:23:41 -04:00
renovate[bot]
599c70f413 Update docker/setup-buildx-action action to v4.1.0 2026-05-23 20:20:53 +00:00
Seth For Privacy
9303676316 Merge pull request #152 from sethforprivacy/renovate/docker-login-action-4.x
Update docker/login-action action to v4.2.0
2026-05-23 16:20:22 -04:00
Seth For Privacy
c20c54e17d Merge pull request #151 from sethforprivacy/renovate/docker-build-push-action-7.x
Update docker/build-push-action action to v7.2.0
2026-05-23 16:20:05 -04:00
renovate[bot]
b3dca32ba0 Update docker/login-action action to v4.2.0 2026-05-23 15:50:07 +00:00
renovate[bot]
f96e9166dc Update docker/build-push-action action to v7.2.0 2026-05-23 15:50:03 +00:00
Seth For Privacy
1ec1d51cfb Update P2POOL_BRANCH to version 4.15.1 2026-05-12 11:01:18 -04:00
Seth For Privacy
d2bed819bd Bump to v4.15 2026-05-01 18:46:30 -04:00
Seth For Privacy
ea2462edf8 Merge pull request #150 from sethforprivacy/renovate/docker-build-push-action-7.x
Update docker/build-push-action action to v7.1.0
2026-04-10 12:22:11 -04:00
renovate[bot]
d30e72c868 Update docker/build-push-action action to v7.1.0 2026-04-10 14:04:03 +00:00
Seth For Privacy
943566c666 Delete .github/dependabot.yml 2026-04-04 09:56:58 -04:00
Seth For Privacy
2afef48805 Merge pull request #148 from sethforprivacy/renovate/docker-login-action-4.x
Update docker/login-action action to v4.1.0
2026-04-04 09:56:35 -04:00
renovate[bot]
9c9a34f0d3 Update docker/login-action action to v4.1.0 2026-04-02 18:35:07 +00:00
Seth For Privacy
bd412b57f5 Merge pull request #147 from sethforprivacy/dependabot/github_actions/dependency-updates-d9df5d0194
Bump the dependency-updates group across 1 directory with 2 updates
2026-03-07 06:33:39 -05:00
dependabot[bot]
46a1067577 Bump the dependency-updates group across 1 directory with 2 updates
Bumps the dependency-updates group with 2 updates in the / directory: [docker/build-push-action](https://github.com/docker/build-push-action) and [docker/metadata-action](https://github.com/docker/metadata-action).


Updates `docker/build-push-action` from 6.19.2 to 7.0.0
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.19.2...v7.0.0)

Updates `docker/metadata-action` from 5 to 6
- [Release notes](https://github.com/docker/metadata-action/releases)
- [Commits](https://github.com/docker/metadata-action/compare/v5...v6)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependency-updates
- dependency-name: docker/metadata-action
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependency-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-06 20:42:38 +00:00
Seth For Privacy
fd9cf843cf Merge pull request #143 from sethforprivacy/renovate/docker-setup-buildx-action-4.x
Update docker/setup-buildx-action action to v4
2026-03-05 09:10:08 -05:00
renovate[bot]
e883973c01 Update docker/setup-buildx-action action to v4 2026-03-05 09:47:12 +00:00
Seth For Privacy
fa13d52fdb Merge pull request #142 from sethforprivacy/renovate/docker-login-action-4.x
Update docker/login-action action to v4
2026-03-04 06:05:52 -05:00
renovate[bot]
de5a18086b Update docker/login-action action to v4 2026-03-04 10:46:25 +00:00
Seth For Privacy
99e34b3579 Update P2POOL_BRANCH to version v4.14 2026-03-01 20:12:03 -05:00
Seth For Privacy
21da5b959b Merge pull request #139 from sethforprivacy/dependabot/github_actions/dependency-updates-985357984d
Bump the dependency-updates group with 2 updates
2026-02-27 08:29:52 -05:00
dependabot[bot]
f2476cbaaa Bump the dependency-updates group with 2 updates
Bumps the dependency-updates group with 2 updates: [actions/upload-artifact](https://github.com/actions/upload-artifact) and [actions/download-artifact](https://github.com/actions/download-artifact).


Updates `actions/upload-artifact` from 6 to 7
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v6...v7)

Updates `actions/download-artifact` from 7 to 8
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v7...v8)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependency-updates
- dependency-name: actions/download-artifact
  dependency-version: '8'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependency-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-26 20:42:29 +00:00
Seth For Privacy
bf406b66a8 Merge pull request #137 from sethforprivacy/renovate/docker-build-push-action-6.x
Update docker/build-push-action action to v6.19.2
2026-02-13 09:26:42 -05:00
renovate[bot]
cc76d47cc4 Update docker/build-push-action action to v6.19.2 2026-02-12 09:39:31 +00:00
Seth For Privacy
276ec16292 Merge pull request #136 from sethforprivacy/renovate/docker-build-push-action-6.x
Update docker/build-push-action action to v6.19.0
2026-02-11 10:08:44 -05:00
renovate[bot]
366802894c Update docker/build-push-action action to v6.19.0 2026-02-11 13:13:59 +00:00
Seth For Privacy
9fdc25b6b6 Merge pull request #135 from sethforprivacy/renovate/docker-login-action-3.x
Update docker/login-action action to v3.7.0
2026-01-28 10:32:14 -05:00
renovate[bot]
868cfb9673 Update docker/login-action action to v3.7.0 2026-01-28 13:08:13 +00:00
Seth For Privacy
6ebfedde92 Merge pull request #134 from sethforprivacy/renovate/docker-setup-buildx-action-3.x
Update docker/setup-buildx-action action to v3.12.0
2025-12-19 09:14:36 -05:00
renovate[bot]
6d4f11403b Update docker/setup-buildx-action action to v3.12.0 2025-12-19 14:11:24 +00:00
Seth For Privacy
b82007d36e Bump to v4.13 2025-12-18 09:57:08 -05:00
5 changed files with 27 additions and 36 deletions

View File

@@ -1,11 +0,0 @@
version: 2
updates:
# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
groups:
dependency-updates:
patterns:
- "*"

View File

@@ -37,14 +37,14 @@ jobs:
echo "DIGEST_NAME=amd64" >> $GITHUB_ENV echo "DIGEST_NAME=amd64" >> $GITHUB_ENV
- -
name: Set up Docker Buildx name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3.11.1 uses: docker/setup-buildx-action@v4.1.0
- -
name: Checkout repository name: Checkout repository
uses: actions/checkout@v6 uses: actions/checkout@v7
- -
name: Test build of image name: Test build of image
id: build id: build
uses: docker/build-push-action@v6.18.0 uses: docker/build-push-action@v7.2.0
with: with:
push: false push: false
load: true load: true

View File

@@ -34,26 +34,26 @@ jobs:
echo "DIGEST_NAME=amd64" >> $GITHUB_ENV echo "DIGEST_NAME=amd64" >> $GITHUB_ENV
- name: Docker meta - name: Docker meta
id: meta id: meta
uses: docker/metadata-action@v5 uses: docker/metadata-action@v6
with: with:
images: | images: |
${{ env.GHCR_REPO }} ${{ env.GHCR_REPO }}
- -
name: Set up Docker Buildx name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3.11.1 uses: docker/setup-buildx-action@v4.1.0
- -
name: Login to GitHub Container Registry name: Login to GitHub Container Registry
uses: docker/login-action@v3.6.0 uses: docker/login-action@v4.2.0
with: with:
registry: ghcr.io registry: ghcr.io
username: ${{ github.repository_owner }} username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }} password: ${{ secrets.GITHUB_TOKEN }}
- -
name: Checkout repository name: Checkout repository
uses: actions/checkout@v6 uses: actions/checkout@v7
- -
name: Build and and push by digest name: Build and and push by digest
uses: docker/build-push-action@v6.18.0 uses: docker/build-push-action@v7.2.0
id: build id: build
with: with:
outputs: type=image,"name=${{ env.GHCR_REPO }}",push-by-digest=true,name-canonical=true,push=true outputs: type=image,"name=${{ env.GHCR_REPO }}",push-by-digest=true,name-canonical=true,push=true
@@ -68,7 +68,7 @@ jobs:
touch "${{ runner.temp }}/digests/${digest#sha256:}" touch "${{ runner.temp }}/digests/${digest#sha256:}"
- name: Upload digest - name: Upload digest
uses: actions/upload-artifact@v6 uses: actions/upload-artifact@v7
with: with:
name: digests-${{ env.DIGEST_NAME }} name: digests-${{ env.DIGEST_NAME }}
path: ${{ runner.temp }}/digests/* path: ${{ runner.temp }}/digests/*
@@ -81,31 +81,31 @@ jobs:
- build - build
steps: steps:
- name: Download digests - name: Download digests
uses: actions/download-artifact@v7 uses: actions/download-artifact@v8
with: with:
path: ${{ runner.temp }}/digests path: ${{ runner.temp }}/digests
pattern: digests-* pattern: digests-*
merge-multiple: true merge-multiple: true
- name: Login to GHCR - name: Login to GHCR
uses: docker/login-action@v3.6.0 uses: docker/login-action@v4.2.0
with: with:
registry: ghcr.io registry: ghcr.io
username: ${{ github.repository_owner }} username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }} password: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Docker Buildx - name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3.11.1 uses: docker/setup-buildx-action@v4.1.0
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v6 uses: actions/checkout@v7
- name: Get p2pool release tag - name: Get p2pool release tag
run: echo P2POOL_TAG="$(awk -F '=' '/P2POOL_BRANCH=/ {print $2}' Dockerfile)" >> $GITHUB_ENV run: echo P2POOL_TAG="$(awk -F '=' '/P2POOL_BRANCH=/ {print $2}' Dockerfile)" >> $GITHUB_ENV
- name: Docker meta - name: Docker meta
id: meta id: meta
uses: docker/metadata-action@v5 uses: docker/metadata-action@v6
with: with:
images: | images: |
${{ env.GHCR_REPO }} ${{ env.GHCR_REPO }}

View File

@@ -1,7 +1,7 @@
ARG P2POOL_BRANCH=v4.12 ARG P2POOL_BRANCH=v4.17
# Select latest Ubuntu LTS for the build image base # Pin to the latest Ubuntu LTS for the build image base (kept current by Renovate)
FROM ubuntu:latest as build FROM ubuntu:24.04 as build
LABEL author="sethforprivacy@protonmail.com" \ LABEL author="sethforprivacy@protonmail.com" \
maintainer="sethforprivacy@protonmail.com" maintainer="sethforprivacy@protonmail.com"
@@ -24,20 +24,22 @@ WORKDIR /p2pool
# Git pull p2pool source at specified tag/branch # Git pull p2pool source at specified tag/branch
ARG P2POOL_BRANCH ARG P2POOL_BRANCH
RUN git clone --recursive --branch ${P2POOL_BRANCH} https://github.com/SChernykh/p2pool . RUN git clone --recursive --depth 1 --shallow-submodules --branch ${P2POOL_BRANCH} https://github.com/SChernykh/p2pool .
# Make static p2pool binary # Make static p2pool binary
ARG NPROC ARG NPROC
RUN test -z "$NPROC" && nproc > /nproc || echo -n "$NPROC" > /nproc && mkdir build && cd build && cmake .. && make -j"$(cat /nproc)" RUN test -z "$NPROC" && nproc > /nproc || echo -n "$NPROC" > /nproc && mkdir build && cd build && cmake .. && make -j"$(cat /nproc)"
# Select latest Ubuntu LTS for the image base # Pin to the latest Ubuntu LTS for the image base (kept current by Renovate)
FROM ubuntu:latest FROM ubuntu:24.04
# Install remaining dependencies # Install only the runtime shared libraries that the p2pool binary links against
# (runtime equivalents of the build-stage -dev packages, verified via ldd on the
# built binary against the pinned Ubuntu 24.04 base)
RUN apt-get update \ RUN apt-get update \
&& apt-get upgrade -y \ && apt-get upgrade -y \
&& apt-get install --no-install-recommends -y libuv1-dev libzmq3-dev libsodium-dev \ && apt-get install --no-install-recommends -y libuv1t64 libzmq5 libsodium23 \
libpgm-dev libnorm-dev libgss-dev libcurl4-openssl-dev libidn2-0-dev \ libpgm-5.3-0t64 libnorm1t64 libgssapi-krb5-2 libcurl4t64 libidn2-0 \
&& apt-get clean \ && apt-get clean \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*

View File

@@ -3,8 +3,8 @@ A simple and straightforward Dockerized [p2pool](https://github.com/SChernykh/p2
## Actions ## Actions
[![Daily Update Rebuild](https://github.com/sethsimmons/p2pool-docker//actions/workflows/update-daily.yml/badge.svg)](https://github.com/sethsimmons/p2pool-docker/actions/workflows/update-daily.yml) [![Daily Update Rebuild](https://github.com/sethforprivacy/p2pool-docker//actions/workflows/update-daily.yml/badge.svg)](https://github.com/sethforprivacy/p2pool-docker/actions/workflows/update-daily.yml)
[![Weekly Update Rebuild](https://github.com/sethsimmons/p2pool-docker//actions/workflows/update-base-image.yml/badge.svg)](https://github.com/sethsimmons/p2pool-docker/actions/workflows/update-base-image.yml) [![Weekly Update Rebuild](https://github.com/sethforprivacy/p2pool-docker//actions/workflows/update-base-image.yml/badge.svg)](https://github.com/sethforprivacy/p2pool-docker/actions/workflows/update-base-image.yml)
# Docker Hub # Docker Hub
This repo is used to build the images available here on GHCR. This repo is used to build the images available here on GHCR.