Commit graph

14 commits

Author SHA1 Message Date
None
7e22172070 fix: remove PUID auto-detect
The auto-detect read PUID/PGID from /data/db ownership (UID 102 in pre-PUID images), causing all upgrading users to run as UID 102 instead of the expected UID 1000. This broke host-side access (SSH, WinSCP), made existing DATA_DIR files unwritable, and failed comskip on recordings created before the change.
2026-03-17 19:32:07 -05:00
None
29525336ab replace migration port and correct variable quoting for guarding
- replaced $_pg_tmp_port with $POSTRGES_PORT in migration logic. Works because "pg_ctl stop -w" is run before entrypoint.sh restarts postgres. Verified that this does not cause a race condition.

- Correcting unquoted environment variables to prevent inappropriate variables from causing execution inconsistencies (still unquoted in comments and prints)
2026-03-12 20:25:54 -05:00
None
52ed0fc15a fix: run PostgreSQL as PUID/PGID user to resolve ownership conflicts (#1078)
PostgreSQL now runs as the PUID/PGID user ($POSTGRES_USER) instead of the internal postgres system user (UID 102). This fixes container startup failures when PUID/PGID is set, caused by chown permission errors on restricted filesystems (NFS root_squash, CIFS) and UID collisions with the postgres system user.

Changes:
- Run all PostgreSQL operations (initdb, pg_ctl, psql) as $POSTGRES_USER
- Auto-detect PUID/PGID from existing data owner when not explicitly set
- Validate PUID/PGID (reject zero, non-numeric values) before startup
- Migrate existing data ownership with sentinel-based skip optimization
- Use trust auth for local Unix sockets, md5 for network connections
- Add promote_app_role() and ensure_app_database() as idempotent startup guarantees that handle fresh installs, upgrades, and PUID changes
- Preserve postgres role as superuser for rollback compatibility
- Centralize /data/db ownership in 02-postgres.sh (sentinel-aware)
- Add integration test suite (20 scenarios) covering fresh installs, upgrades, restarts, PUID changes, UID collisions, bind mounts, modular mode, PG major upgrades, and end-to-end web UI verification
2026-03-11 23:36:32 -05:00
Mattias Svensson
cbb8a52163 Fix: nginx startup failure due to group name mismatch
The script was creating a group named 'dispatch' (hardcoded) while
nginx.conf expected a group matching POSTGRES_USER (e.g., 'dispatcharr').

Changes:
- Use $POSTGRES_USER for group name instead of hardcoded 'dispatch'
- Make sed command more robust to match any existing user directive

This ensures the group name matches the user name, fixing the error:
"getgrnam("dispatcharr") failed in /etc/nginx/nginx.conf:1"

Fixes #877

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 08:04:49 +01:00
SergeantPanda
14c3944578 Don't hardcode dispatch as user for nginx. Use postgres_user. 2025-05-14 10:19:55 -05:00
SergeantPanda
cecc057ea4 Make sure we can change render group gid to match host and capture errors so we don't crash server. 2025-05-14 09:32:24 -05:00
SergeantPanda
634d16d402 Improved logic for assigned GID's and group memberships for video and render groups. 2025-05-12 17:23:10 -05:00
SergeantPanda
9f1d382472 Don't force GID for render group. 2025-05-12 16:02:24 -05:00
SergeantPanda
3a06b12f2c Hopefully fixes QSV hardware acceleration. 2025-05-11 12:45:57 -05:00
SergeantPanda
e59521ae94 Add Dispatch to video and render groups if they exist. 2025-05-10 15:29:25 -05:00
SergeantPanda
2b3f17972a Rename group to dispatch if it isn't already. 2025-05-07 21:10:56 -05:00
dekzter
306e4d1442 fixing perms 2025-03-25 11:12:36 -04:00
dekzter
206a0814be updated scripts, attempting to fix perms issue on socket 2025-03-05 14:53:47 -05:00
dekzter
6b0becce62 first attempt to switch to uwsgi 2025-03-04 20:02:40 -05:00