Polish#40
Merged
Merged
Conversation
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)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.