mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-04-28 03:20:11 +00:00
Fix pulse-sensor-proxy configuration not applied in LXC containers (related to #600)
This fixes two bugs that prevented temperature monitoring from working
after running install-sensor-proxy.sh on LXC deployments:
1. CRITICAL: Pulse service not restarted after systemd override
- The installer wrote PULSE_SENSOR_PROXY_SOCKET env var to systemd
drop-in and ran daemon-reload, but never restarted Pulse service
- Running Pulse instances continued using old environment variables
- Temperatures wouldn't work until manual Pulse restart
- Now: Automatically restart Pulse if running after writing override
2. Added guard to check if Pulse service exists before configuring
- Installer would write systemd override even if Pulse not installed
- Left orphaned drop-in files that confused users
- Now: Check if pulse.service exists, warn and skip if not found
3. MINOR: Fix inconsistent Docker mount instructions
- docker-compose.yml showed :ro (read-only) mount
- Installer output showed :rw (read-write) mount
- Changed installer to match compose file (:ro is correct and secure)
Impact: Users in #600 reported "socketFound=false" even after running
installer successfully. This was because Pulse never picked up the new
socket path without a restart.
This commit is contained in:
parent
bb7ca93c18
commit
5bac91a664
1 changed files with 19 additions and 4 deletions
|
|
@ -1446,12 +1446,27 @@ fi
|
|||
|
||||
# Configure Pulse backend environment override inside container
|
||||
print_info "Configuring Pulse to use proxy..."
|
||||
pct exec "$CTID" -- bash -lc "mkdir -p /etc/systemd/system/pulse.service.d"
|
||||
pct exec "$CTID" -- bash -lc "cat <<'EOF' >/etc/systemd/system/pulse.service.d/10-pulse-proxy.conf
|
||||
|
||||
# Check if Pulse service exists in container before configuring
|
||||
if ! pct exec "$CTID" -- systemctl status pulse >/dev/null 2>&1; then
|
||||
print_warn "Pulse service not found in container $CTID; skipping proxy configuration"
|
||||
print_info "Install Pulse in the container first, then re-run this installer"
|
||||
else
|
||||
pct exec "$CTID" -- bash -lc "mkdir -p /etc/systemd/system/pulse.service.d"
|
||||
pct exec "$CTID" -- bash -lc "cat <<'EOF' >/etc/systemd/system/pulse.service.d/10-pulse-proxy.conf
|
||||
[Service]
|
||||
Environment=PULSE_SENSOR_PROXY_SOCKET=${MOUNT_TARGET}/pulse-sensor-proxy.sock
|
||||
EOF"
|
||||
pct exec "$CTID" -- systemctl daemon-reload || true
|
||||
pct exec "$CTID" -- systemctl daemon-reload || true
|
||||
|
||||
# Restart Pulse service to apply the new environment variable
|
||||
if pct exec "$CTID" -- systemctl is-active --quiet pulse 2>/dev/null; then
|
||||
print_info "Restarting Pulse service to apply configuration..."
|
||||
pct exec "$CTID" -- systemctl restart pulse
|
||||
sleep 2
|
||||
print_success "Pulse service restarted with proxy configuration"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Test proxy status
|
||||
print_info "Testing proxy status..."
|
||||
|
|
@ -1584,7 +1599,7 @@ else
|
|||
echo ""
|
||||
echo " volumes:"
|
||||
echo " - pulse-data:/data"
|
||||
echo " - /run/pulse-sensor-proxy:/run/pulse-sensor-proxy:rw"
|
||||
echo " - /run/pulse-sensor-proxy:/run/pulse-sensor-proxy:ro"
|
||||
echo ""
|
||||
print_info "Then restart your Pulse container:"
|
||||
echo " docker-compose down && docker-compose up -d"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue