This addresses confusion around temperature monitoring setup for Docker deployments where users expected a turnkey experience similar to LXC. The core issue: The setup script and documentation suggested that temperature monitoring was "automatically configured" for all containerized deployments, but in reality only LXC containers have a fully automatic setup. Docker requires manual steps. Changes: **Setup Script (config_handlers.go):** - Fixed "unknown environment" path to show separate instructions for LXC vs Docker - Docker instructions now correctly show --standalone flag (was incorrectly showing --ctid) - Added docker-compose.yml bind mount instructions inline - Added restart command for Docker deployments **Documentation (TEMPERATURE_MONITORING.md):** - Added prominent "Deployment-Specific Setup" callout at the top - Clarified that LXC is fully automatic, Docker requires manual steps - Reorganized "Setup (Automatic)" section to clearly distinguish: - LXC: Fully turnkey (no manual steps) - Docker: Manual proxy installation required - Node configuration: Works for both - Updated "Host-side responsibilities" to specify it's Docker-only - Fixed architecture benefits to reflect LXC vs Docker differences Why this matters: - LXC setup script auto-detects the container and runs install-sensor-proxy.sh --ctid - Docker deployments can't be auto-detected and require --standalone flag - Users running Docker were getting incorrect instructions (--ctid instead of --standalone) - Documentation suggested everything was automatic, leading to confusion Now the documentation and setup script accurately reflect that: - LXC = Turnkey (automatic) - Docker = Manual steps required (but well-documented) - Native = Direct SSH (no proxy) Related to GitHub Discussion #605 |
||
|---|---|---|
| .. | ||
| alerts.go | ||
| alerts_test.go | ||
| auth.go | ||
| auth_scope_test.go | ||
| bootstrap_token.go | ||
| config_handlers.go | ||
| config_handlers_auto_register_test.go | ||
| config_handlers_cluster_test.go | ||
| config_handlers_setup_script_test.go | ||
| csrf_store.go | ||
| demo_middleware.go | ||
| diagnostics.go | ||
| DO_NOT_EDIT_FRONTEND_HERE.md | ||
| docker_agents.go | ||
| docker_metadata.go | ||
| frontend_embed.go | ||
| guest_metadata.go | ||
| host_agents.go | ||
| host_agents_test.go | ||
| http_metrics.go | ||
| middleware.go | ||
| notifications.go | ||
| oidc_handlers.go | ||
| oidc_service.go | ||
| rate_limit_config.go | ||
| rate_limit_config_test.go | ||
| ratelimit.go | ||
| README.md | ||
| recovery_tokens.go | ||
| router.go | ||
| router_integration_test.go | ||
| security.go | ||
| security_oidc.go | ||
| security_setup_fix.go | ||
| security_setup_fix_test.go | ||
| security_test.go | ||
| security_tokens.go | ||
| security_tokens_test.go | ||
| session_store.go | ||
| system_settings.go | ||
| types.go | ||
| updates.go | ||
Internal API Package
This directory contains the API server implementation for Pulse.
Important Note About frontend-modern/
The frontend-modern/ subdirectory that appears here is:
- AUTO-GENERATED during builds
- NOT the source code - just a build artifact
- IN .gitignore - never committed
- REQUIRED BY GO - The embed directive needs it here
Frontend Development Location
👉 Edit frontend files at: /opt/pulse/frontend-modern/src/
Why This Structure?
Go's //go:embed directive has limitations:
- Cannot use
../paths to access parent directories - Cannot follow symbolic links
- Must embed files within the Go module
This is a known Go limitation and our structure works around it.