Updated startup so NFS network becomes available before Plex tries to start to prevent startup failures.
This commit is contained in:
parent
96d13417ce
commit
6db1f35392
1 changed files with 37 additions and 2 deletions
|
|
@ -4,7 +4,7 @@ Hostname: **plex32**
|
||||||
IP Address: **192.168.150.45**
|
IP Address: **192.168.150.45**
|
||||||
VLAN: **50 — Lab / Servers**
|
VLAN: **50 — Lab / Servers**
|
||||||
|
|
||||||
Last Updated: 2026-07-12
|
Last Updated: 2026-08-19
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -425,6 +425,23 @@ The daily update check intermittently failed with `error from registry: unauthor
|
||||||
|
|
||||||
Resolved — verified with a live production run; the script now correctly reports "Update available" with ready-to-run commands instead of a registry error.
|
Resolved — verified with a live production run; the script now correctly reports "Update available" with ready-to-run commands instead of a registry error.
|
||||||
|
|
||||||
|
### **Systemd Startup / NFS Dependency Fix (2026-08-19)**
|
||||||
|
After a system reboot at 8:53 AM, Plex failed to auto-start despite having `restart: unless-stopped` in `docker-compose.yml`.
|
||||||
|
|
||||||
|
**Root cause:** Docker started before remote NFS mounts (`/mnt/plex/media`) finished mounting, causing Docker container startup to abort on missing volume paths.
|
||||||
|
|
||||||
|
**Fix applied:**
|
||||||
|
- Created a systemd override for Docker service at `/etc/systemd/system/docker.service.d/override.conf`:
|
||||||
|
```ini
|
||||||
|
[Unit]
|
||||||
|
After=network-online.target remote-fs.target
|
||||||
|
Wants=network-online.target remote-fs.target
|
||||||
|
Reloaded daemon (sudo systemctl daemon-reload).
|
||||||
|
|
||||||
|
Verified drop-in file is actively picked up by docker.service.
|
||||||
|
|
||||||
|
Resolved — Docker will now delay container startup on boot until network mounts are fully established.
|
||||||
|
|
||||||
### **plex32_health_report.sh — Issues List Word-Wrapping Fix (2026-07-12)**
|
### **plex32_health_report.sh — Issues List Word-Wrapping Fix (2026-07-12)**
|
||||||
The "⚠ Issues Detected" block in the daily health report email was rendering each word of an issue message on its own line (e.g. "WARNING: NAS08 — Plex Config is getting full" appeared as one word per line) instead of as a single readable sentence.
|
The "⚠ Issues Detected" block in the daily health report email was rendering each word of an issue message on its own line (e.g. "WARNING: NAS08 — Plex Config is getting full" appeared as one word per line) instead of as a single readable sentence.
|
||||||
|
|
||||||
|
|
@ -476,7 +493,25 @@ Resolved — verified with a manual run; each issue now renders as one complete
|
||||||
- **`plex32_update_check.sh` fixed 2026-07-12** — added explicit `PATH` export to fix intermittent `docker pull` failures under root's cron environment; script now logs real `docker pull` error output on failure instead of a generic "could not reach registry" message. All three PLEX32 scheduled jobs run under root's crontab.
|
- **`plex32_update_check.sh` fixed 2026-07-12** — added explicit `PATH` export to fix intermittent `docker pull` failures under root's cron environment; script now logs real `docker pull` error output on failure instead of a generic "could not reach registry" message. All three PLEX32 scheduled jobs run under root's crontab.
|
||||||
- **`plex32_update_check.sh` fixed again 2026-08-04** — added a 3-attempt retry loop (30s apart) around `docker pull` to handle `lscr.io`'s transient `error from registry: unauthorized` failure (all layers pull successfully, then the final manifest step fails — a known registry-side token/rate-limit issue, not a credentials problem). Also re-added the `PATH` export from the 2026-07-12 fix, which had gone missing from the deployed script. Only a failure across all 3 attempts is now reported as `CHECK FAILED`; a retry success is noted inline in the email instead of being silently indistinguishable from a clean pull.
|
- **`plex32_update_check.sh` fixed again 2026-08-04** — added a 3-attempt retry loop (30s apart) around `docker pull` to handle `lscr.io`'s transient `error from registry: unauthorized` failure (all layers pull successfully, then the final manifest step fails — a known registry-side token/rate-limit issue, not a credentials problem). Also re-added the `PATH` export from the 2026-07-12 fix, which had gone missing from the deployed script. Only a failure across all 3 attempts is now reported as `CHECK FAILED`; a retry success is noted inline in the email instead of being silently indistinguishable from a clean pull.
|
||||||
- **`plex32_health_report.sh` fixed 2026-07-12** — fixed the "Issues Detected" email block rendering each word on its own line, caused by a multi-character `IFS='. '` split; issues are now newline-delimited and read back with a `while read` loop.
|
- **`plex32_health_report.sh` fixed 2026-07-12** — fixed the "Issues Detected" email block rendering each word on its own line, caused by a multi-character `IFS='. '` split; issues are now newline-delimited and read back with a `while read` loop.
|
||||||
|
- **`plex32_update_check.sh` updated 2026-08-18** — replaced heavy `docker pull` layer downloads with `skopeo inspect` for fast manifest digest comparisons. Adjusted Step 5 logic to prioritize "Updates Available" blue banner over non-fatal script check warnings.
|
||||||
|
- **Systemd override for Docker added 2026-08-19** — added `/etc/systemd/system/docker.service.d/override.conf` with `After=network-online.target remote-fs.target` and `Wants=network-online.target remote-fs.target` so Docker waits for NFS mounts on boot before starting containers.
|
||||||
---
|
---
|
||||||
|
|
||||||
# ✔️ End of File
|
# ✔️ End of File
|
||||||
|
|
||||||
|
### **Systemd Startup / NFS Dependency Fix (2026-08-19)**
|
||||||
|
After a system reboot at 8:53 AM, Plex failed to auto-start despite having `restart: unless-stopped` in `docker-compose.yml`.
|
||||||
|
|
||||||
|
**Root cause:** Docker started before remote NFS mounts (`/mnt/plex/media`) finished mounting, causing Docker container startup to abort on missing volume paths.
|
||||||
|
|
||||||
|
**Fix applied:**
|
||||||
|
- Created a systemd override for Docker service at `/etc/systemd/system/docker.service.d/override.conf`:
|
||||||
|
```ini
|
||||||
|
[Unit]
|
||||||
|
After=network-online.target remote-fs.target
|
||||||
|
Wants=network-online.target remote-fs.target
|
||||||
|
```
|
||||||
|
- Reloaded daemon (`sudo systemctl daemon-reload` blow).
|
||||||
|
- Verified drop-in file is actively picked up by `docker.service`.
|
||||||
|
|
||||||
|
Resolved — Docker will now delay container startup on boot until network mounts are fully established.
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue