16 Commits

Author SHA1 Message Date
Seth For Privacy
46d68375cd Merge pull request #161 from sethforprivacy/fix-legacy-dockerfile-syntax
Fix legacy Dockerfile syntax flagged by BuildKit
2026-06-23 08:45:47 -04:00
Seth For Privacy
1bb3947f60 Fix legacy Dockerfile syntax flagged by BuildKit
- 'FROM ... as build' -> 'AS' (FromAsCasing)
- 'ENV key value' -> 'ENV key=value' for USE_SINGLE_BUILDDIR and
  BOOST_DEBUG (LegacyKeyValueFormat)

No functional change; 'docker build --check' now reports no warnings.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 08:20:40 -04:00
Seth For Privacy
df326bcf85 Merge pull request #160 from sethforprivacy/renovate/ubuntu-26.x
chore(deps): update ubuntu docker tag to v26
2026-06-23 07:36:59 -04:00
renovate[bot]
f0f9059dd6 chore(deps): update ubuntu docker tag to v26 2026-06-23 11:11:44 +00:00
Seth For Privacy
93b13c156d Merge pull request #157 from sethforprivacy/optimize-final-image
Optimize final image: runtime libs instead of -dev, pin base image
2026-06-23 07:11:01 -04:00
Seth For Privacy
5b7ab876bf Merge pull request #158 from sethforprivacy/add-renovate-config
Add Renovate config for automated p2pool version bumps
2026-06-23 07:10:21 -04:00
Seth For Privacy
7e7cab924e Add Renovate config for automated p2pool version bumps
Adds .github/renovate.json based on the gold-standard config in
sethforprivacy/simple-monerod-docker, plus a `# renovate:` annotation
above ARG P2POOL_BRANCH so Renovate tracks the upstream p2pool release.

- renovate.json: same extends + customManager regex as monerod. The
  customManager already matches `ARG ..._BRANCH=<value>` patterns, so it
  picks up P2POOL_BRANCH directly. The docker manager (via
  docker:enableMajor) will also keep the pinned ubuntu base image current.
- Dockerfile: add
  `# renovate: datasource=github-releases depName=SChernykh/p2pool`
  immediately above `ARG P2POOL_BRANCH=v4.17`.

Validated with `renovate-config-validator` (renovate@latest):
"Config validated successfully". (Note: the field `managerFilePatterns`
requires Renovate >= 39; the hosted Mend app on this owner runs current
Renovate, matching the live monerod config.)

The hosted Mend Renovate app is already active on this owner's repos and
will pick this up automatically once merged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 20:58:22 -04:00
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
6f18143ef1 Merge pull request #156 from sethforprivacy/purge-old-handle
chore: purge old sethsimmons handle/branding
2026-06-22 20:18:01 -04:00
Seth For Privacy
81b47a06b7 chore: replace old sethsimmons handle/branding
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 20:15:30 -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
6 changed files with 44 additions and 17 deletions

24
.github/renovate.json vendored Normal file
View File

@@ -0,0 +1,24 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended",
"docker:enableMajor",
"mergeConfidence:all-badges",
":disableRateLimiting",
":semanticCommits"
],
"rebaseWhen": "conflicted",
"customManagers": [
{
"customType": "regex",
"managerFilePatterns": [
"/(^|/)Dockerfile$/"
],
"matchStrings": [
"# renovate: datasource=(?<datasource>.*?) depName=(?<depName>.*?)( versioning=(?<versioning>.*?))?\\sARG .*?_VERSION=(?<currentValue>.*)(\\sARG .*?_CHECKSUM=(?<currentDigest>.*))?\\s",
"# renovate: datasource=(?<datasource>.*?) depName=(?<depName>.*?)( versioning=(?<versioning>.*?))?\\sARG .*?_BRANCH=(?<currentValue>.*)(\\sARG .*?_COMMIT_HASH=(?<currentDigest>.*))?\\s"
],
"versioningTemplate": "{{#if versioning}}{{versioning}}{{/if}}"
}
]
}

View File

@@ -40,7 +40,7 @@ jobs:
uses: docker/setup-buildx-action@v4.1.0 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

View File

@@ -50,7 +50,7 @@ jobs:
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@v7.2.0 uses: docker/build-push-action@v7.2.0
@@ -98,7 +98,7 @@ jobs:
uses: docker/setup-buildx-action@v4.1.0 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

View File

@@ -1,7 +1,8 @@
ARG P2POOL_BRANCH=v4.15.1 # renovate: datasource=github-releases depName=SChernykh/p2pool
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:26.04 AS build
LABEL author="sethforprivacy@protonmail.com" \ LABEL author="sethforprivacy@protonmail.com" \
maintainer="sethforprivacy@protonmail.com" maintainer="sethforprivacy@protonmail.com"
@@ -16,28 +17,30 @@ RUN apt-get update \
ENV CFLAGS='-fPIC' ENV CFLAGS='-fPIC'
ENV CXXFLAGS='-fPIC' ENV CXXFLAGS='-fPIC'
ENV USE_SINGLE_BUILDDIR 1 ENV USE_SINGLE_BUILDDIR=1
ENV BOOST_DEBUG 1 ENV BOOST_DEBUG=1
# Switch to p2pool source directory # Switch to p2pool source directory
WORKDIR /p2pool 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:26.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

@@ -1,6 +1,6 @@
MIT License MIT License
Copyright (c) 2021 Seth Simmons (@sethsimmons) Copyright (c) 2021 Seth For Privacy (@sethforprivacy)
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal

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.