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
+
+
+
+
+
+
+
+
+
+ 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