Skip to content

Polish#40

Merged
kernelcoffee merged 3 commits into
masterfrom
dev/polish
Jul 18, 2026
Merged

Polish#40
kernelcoffee merged 3 commits into
masterfrom
dev/polish

Conversation

@kernelcoffee

Copy link
Copy Markdown
Owner

Frontend dedupe. The ~40 duplicated lines are now a single buildGiveawaysEndpoint() helper holding the endpoint selection and filter-to-param mapping; the two hooks differ only in how they compute the offset (page-based vs. infinite-scroll cursor). Typecheck and all 170 frontend tests pass.

PUID/PGID entrypoint. New docker-entrypoint.sh: set PUID (and optionally PGID) and the backend runs as that uid/gid with /config chown'd to match — the linuxserver.io convention, for real-Docker users who don't want root-owned database files. Unset, everything behaves exactly as before, which is the correct default for your rootless podman. Verified both modes live: your recreated container runs the backend as uid 0 and is healthy, and a throwaway container with PUID=1234 came up healthy with the backend at uid 1234 and /config files owned 1234:1234 (test container cleaned up).

README. New Security section stating plainly that the UI/API have no authentication and are LAN-only by design, that the PHPSESSID sits in plain text in the /config SQLite file, and recommending a reverse proxy with auth or VPN for remote access. Quick Start now explains compose pull-vs---build, the --force-recreate gotcha after image updates, and the new PUID/PGID option.

buildGiveawaysEndpoint holds the endpoint selection and filter-to-param
mapping once; useGiveaways and useInfiniteGiveaways only differ in how
they compute the offset.
New entrypoint: when PUID (and optionally PGID) is set, the backend
runs as that uid/gid and /config is chown'd accordingly, so database
and logs are owned by the host user instead of root. Default remains
root — required for rootless podman, where container-root already maps
to the host user.
- New Security section: no built-in auth (LAN-only design), PHPSESSID
  stored in plain text under /config, reverse-proxy/VPN guidance
- Quick Start: compose pulls the GHCR image by default, --build builds
  from source, --force-recreate needed after image updates
- Non-root backend instructions for Docker (PUID/PGID)
@kernelcoffee
kernelcoffee merged commit b1dfbfd into master Jul 18, 2026
6 checks passed
@kernelcoffee
kernelcoffee deleted the dev/polish branch July 18, 2026 21:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant