From 4bc8fd6d9fb6c2b76195bfef02909f1433e940a6 Mon Sep 17 00:00:00 2001 From: Oh My Felix Date: Fri, 5 Jun 2026 10:26:38 +0000 Subject: [PATCH 1/2] Add Dockette CI rollout baseline --- .github/workflows/docker.yml | 62 ++++++++++++++++++++++++++++++++++++ AGENTS.md | 33 +++++++++++++++++++ CLAUDE.md | 1 + Makefile | 16 ++++++++++ README.md | 53 ++++++++++++++++++++++++++++++ 5 files changed, 165 insertions(+) create mode 100644 .github/workflows/docker.yml create mode 100644 AGENTS.md create mode 100644 CLAUDE.md create mode 100644 Makefile create mode 100644 README.md diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml new file mode 100644 index 0000000..d1a43c0 --- /dev/null +++ b/.github/workflows/docker.yml @@ -0,0 +1,62 @@ +name: "Docker" + +on: + workflow_dispatch: + + push: + branches: ["master"] + + schedule: + - cron: "0 8 * * 1" + +permissions: + contents: read + +jobs: + test: + name: "Test" + runs-on: "ubuntu-latest" + + steps: + - name: "Checkout" + uses: actions/checkout@v4 + + - name: "Set up Docker Buildx" + uses: docker/setup-buildx-action@v3 + + - name: "Build image" + uses: docker/build-push-action@v6 + with: + context: "." + load: true + tags: "dockette/pound:latest" + + - name: "Test image" + run: "make test" + + build: + name: "Build" + needs: ["test"] + uses: dockette/.github/.github/workflows/docker.yml@master + secrets: inherit + with: + image: "dockette/pound" + tag: "latest" + context: "." + + docs: + name: "Docs" + runs-on: "ubuntu-latest" + needs: ["build"] + if: github.ref == 'refs/heads/master' + + steps: + - name: "Checkout" + uses: actions/checkout@v4 + + - name: "Update Docker Hub description" + uses: peter-evans/dockerhub-description@v5 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + repository: "dockette/pound" diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..9b892aa --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,33 @@ +# AGENTS.md + +## Project + +Dockette Pound builds `dockette/pound`, a legacy Pound HTTP/HTTPS reverse proxy and load balancer image. The image listens on port `80` and uses `/etc/pound/config.cfg` copied from `pound/pound.cfg`. + +## Images + +- Default image: `dockette/pound:latest`. +- Build context: repository root `.` with `Dockerfile` and `pound/pound.cfg`. +- Base image: `dockette/debian:jessie`. +- The image installs the Debian Jessie `pound` package and starts `pound -f /etc/pound/config.cfg`. +- GitHub Actions builds `linux/amd64` for tests, then publishes `linux/amd64,linux/arm64` through the shared Dockette Docker workflow on `master` and the weekly schedule. + +## Commands + +- `make build` builds `${DOCKER_IMAGE}:${DOCKER_TAG}` from `.`. +- `make test` runs `pound -V` and validates `/etc/pound/config.cfg` with `pound -c -f` inside the built image. +- `make run` starts the image locally with `80:80` published. + +## Testing Notes + +- Prefer `make test` after Dockerfile or `pound/pound.cfg` changes. +- Use `make -n build test run` to dry-run command wiring without requiring Docker. +- The smoke test requires Docker and the image to be built first. + +## Guidelines + +- Keep changes focused on maintaining the legacy image; avoid broad modernization unless needed for build viability. +- Keep `Dockerfile`, `Makefile`, README, `pound/pound.cfg`, and `.github/workflows/docker.yml` aligned. +- Prefer `DOCKER_*` names for Docker-related Makefile variables. +- Place `.PHONY: ` directly above each Makefile target. +- Keep README badges and maintenance sections consistent with other Dockette image repos. diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..43c994c --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1 @@ +@AGENTS.md diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..64c6643 --- /dev/null +++ b/Makefile @@ -0,0 +1,16 @@ +DOCKER_IMAGE=dockette/pound +DOCKER_TAG?=latest +DOCKER_PLATFORMS?=linux/amd64,linux/arm64 + +.PHONY: build +build: + docker buildx build --platform ${DOCKER_PLATFORMS} -t ${DOCKER_IMAGE}:${DOCKER_TAG} . + +.PHONY: test +test: + docker run --rm ${DOCKER_IMAGE}:${DOCKER_TAG} pound -V + docker run --rm ${DOCKER_IMAGE}:${DOCKER_TAG} pound -c -f /etc/pound/config.cfg + +.PHONY: run +run: + docker run --rm -it -p 80:80 ${DOCKER_IMAGE}:${DOCKER_TAG} diff --git a/README.md b/README.md new file mode 100644 index 0000000..10d309c --- /dev/null +++ b/README.md @@ -0,0 +1,53 @@ +

Dockette / Pound

+ +

+ GitHub Actions + Docker Hub pulls + GitHub Sponsors + Support/Discussions +

+ +

+ Legacy Docker image for Pound, an HTTP/HTTPS reverse proxy and load balancer. +

+ +----- + +## Usage + +```bash +docker run --rm -it \ + -p 80:80 \ + dockette/pound:latest +``` + +The image starts Pound in the foreground with `/etc/pound/config.cfg`. + +## Configuration + +The bundled configuration listens on port `80` and forwards requests with host headers matching `*.local.dev` to backend host `app` on port `80`. + +To use your own configuration: + +```bash +docker run --rm -it \ + -p 80:80 \ + -v "$(pwd)/pound.cfg:/etc/pound/config.cfg:ro" \ + dockette/pound:latest +``` + +## Legacy Constraints + +This image is intentionally kept close to the original legacy setup. It uses the historical `dockette/debian:jessie` base image and Debian Jessie `pound` package, so changes should stay focused on keeping the existing image buildable and testable. + +## Development + +```bash +make build +make test +make run +``` + +## Maintenance + +See [how to contribute](https://github.com/dockette/.github/blob/master/CONTRIBUTING.md) to this package. Consider to [support](https://github.com/sponsors/f3l1x) **f3l1x**. Thank you for using this package. From 33ebb4ef2093f7ba1634df19f816122f3b9eda68 Mon Sep 17 00:00:00 2001 From: Oh My Felix Date: Fri, 5 Jun 2026 11:35:23 +0000 Subject: [PATCH 2/2] Fix local image build docs Co-authored-by: Felix --- Makefile | 3 +-- README.md | 4 +++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 64c6643..6dbb47d 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,9 @@ DOCKER_IMAGE=dockette/pound DOCKER_TAG?=latest -DOCKER_PLATFORMS?=linux/amd64,linux/arm64 .PHONY: build build: - docker buildx build --platform ${DOCKER_PLATFORMS} -t ${DOCKER_IMAGE}:${DOCKER_TAG} . + docker build -t ${DOCKER_IMAGE}:${DOCKER_TAG} . .PHONY: test test: diff --git a/README.md b/README.md index 10d309c..f02a990 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@

- Legacy Docker image for Pound, an HTTP/HTTPS reverse proxy and load balancer. + Legacy Docker image for Pound, an HTTP/HTTPS reverse proxy and load balancer.

----- @@ -42,6 +42,8 @@ This image is intentionally kept close to the original legacy setup. It uses the ## Development +Build a local image before running tests or starting the container: + ```bash make build make test