Pulse/docs/PORT_CONFIGURATION.md
Pulse Monitor 50382a89e5 docs: remove ProxmoxVE Helper Script references
The ProxmoxVE Helper Script is no longer the recommended installation method.
Users should use the official install.sh script instead, which supports
creating LXC containers directly on Proxmox hosts.

For existing users confused about updating (like in discussion #407), they
can use 'pct enter' from the Proxmox host to access their container as root.
2025-09-01 22:59:32 +00:00

2.1 KiB

Port Configuration Guide

Pulse supports multiple ways to configure the frontend port (default: 7655).

1. During Installation (Easiest)

The installer prompts for the port. To skip the prompt, use:

FRONTEND_PORT=8080 curl -fsSL https://raw.githubusercontent.com/rcourtman/Pulse/main/install.sh | bash

2. Using systemd override (For existing installations)

sudo systemctl edit pulse

Add these lines:

[Service]
Environment="FRONTEND_PORT=8080"

Then restart: sudo systemctl restart pulse

3. Using system.json (Alternative method)

Edit /etc/pulse/system.json:

{
  "frontendPort": 8080
}

Then restart: sudo systemctl restart pulse

4. Using environment variables (Docker)

For Docker deployments:

docker run -e FRONTEND_PORT=8080 -p 8080:8080 rcourtman/pulse:latest

Priority Order

Pulse checks for port configuration in this order:

  1. FRONTEND_PORT environment variable
  2. PORT environment variable (legacy)
  3. frontendPort in system.json
  4. Default: 7655

Environment variables always override configuration files.

Why not .env?

The /etc/pulse/.env file is reserved exclusively for authentication credentials:

  • API_TOKEN - API authentication token (hashed)
  • PULSE_AUTH_USER - Web UI username
  • PULSE_AUTH_PASS - Web UI password (hashed)

Keeping application configuration separate from authentication credentials:

  • Makes it clear what's a secret vs what's configuration
  • Allows different permission models if needed
  • Follows the principle of separation of concerns
  • Makes it easier to backup/share configs without exposing credentials

Troubleshooting

Port not changing after configuration?

  1. Check which service name is in use:

    systemctl list-units | grep pulse
    

    It might be pulse or pulse-backend depending on your installation method.

  2. Verify the configuration is loaded:

    sudo systemctl show pulse | grep Environment
    
  3. Check if another process is using the port:

    sudo lsof -i :8080