No description
  • Dockerfile 100%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Maël Gramain 89782b7b20 Point release CI and README at git.gnous.eu/gnouseu/wallabag
Repo landed under the gnouseu org, not enpls as originally guessed.
2026-07-31 16:43:09 +02:00
.woodpecker Point release CI and README at git.gnous.eu/gnouseu/wallabag 2026-07-31 16:43:09 +02:00
Dockerfile Add custom wallabag image fixing conf.d permission crash under PSS restricted 2026-07-31 05:57:05 +02:00
README.md Point release CI and README at git.gnous.eu/gnouseu/wallabag 2026-07-31 16:43:09 +02:00

wallabag-image

A custom wallabag/wallabag image with a single permission fix so it runs under Kubernetes Pod Security Standards restricted (forced non-root, no extra capabilities).

Why

The stock image's entrypoint unconditionally writes a generated PHP ini file into /etc/php81/conf.d/ on every boot, but that directory ships 755 root:root — no group-write bit. Under PSS restricted the container runs as uid/gid 65534 (nobody), so that write fails and the entrypoint (set -e) crash-loops the pod. Full root-cause writeup: kube-charts/docs/wallabag-custom-image.md (in the sibling kube-charts repo). This repo is just the fix, verified to work — see the Dockerfile for the two-line change.

Build locally

docker build -t wallabag-image:local .
# or pin a specific upstream version:
docker build --build-arg WALLABAG_VERSION=2.6.14 -t wallabag-image:local .

Verify the fix (should print WRITE_OK, matching what the entrypoint does on every boot):

docker run --rm -u 65534:65534 wallabag-image:local sh -c \
  'envsubst < /etc/wallabag/php-wallabag.template.ini > /etc/php81/conf.d/50_wallabag.ini && echo WRITE_OK'

The same command against stock wallabag/wallabag:2.6.14 fails with Permission denied.

Release

Pushing a git tag (e.g. v2.6.14-1) triggers .woodpecker/release.yml, which builds, pushes to git.gnous.eu/gnouseu/wallabag, and cosign-signs the result per kube-charts/docs/image-signing.md.

Consumer

Once an image is pushed here, kube-charts' values/wallabag/values.yaml gets its image.repository/image.tag updated to point at git.gnous.eu/gnouseu/wallabag. That update, and un-pausing the wallabag migration, is a kube-charts-side follow-up — not part of this repo.