Skip to content

Commit a2a4a30

Browse files
rcourtmanclaude
andcommitted
docs: update README to reflect web-based configuration system
- Emphasize web interface configuration as primary method - Simplify installation instructions by removing manual .env setup - Update Docker Compose example with volume mounting for persistence - Modernize all setup flows to use settings modal approach - Maintain environment variables section for advanced users - Update troubleshooting to reference settings modal - Align documentation with streamlined user experience 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 1ec6faf commit a2a4a30

File tree

1 file changed

+38
-54
lines changed

1 file changed

+38
-54
lines changed

README.md

Lines changed: 38 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,9 @@ This will create a new LXC container and install Pulse automatically. Visit the
7070
**For existing Docker hosts:**
7171
```bash
7272
mkdir pulse-config && cd pulse-config
73-
# Create .env file with your Proxmox details (see Configuration section)
7473
# Create docker-compose.yml (see Docker section)
7574
docker compose up -d
75+
# Configure via web interface at http://localhost:7655
7676
```
7777

7878
### 🛠️ **Manual LXC Installation**
@@ -138,11 +138,10 @@ bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/c
138138
This script will:
139139
- Create a new LXC container automatically
140140
- Install all dependencies (Node.js, npm, etc.)
141-
- Download and configure Pulse
141+
- Download and set up Pulse
142142
- Set up systemd service
143-
- Guide you through Proxmox API token setup
144143

145-
**After installation:** Access Pulse at `http://<lxc-ip>:7655`
144+
**After installation:** Access Pulse at `http://<lxc-ip>:7655` and configure via the web interface
146145

147146
Visit the [Community Scripts page](https://community-scripts.github.io/ProxmoxVE/scripts?id=pulse) for more details.
148147

@@ -158,27 +157,12 @@ Visit the [Community Scripts page](https://community-scripts.github.io/ProxmoxVE
158157

159158
**Steps:**
160159

161-
1. **Create a Directory:** Make a directory on your Docker host where Pulse configuration will live:
160+
1. **Create a Directory:** Make a directory on your Docker host where Pulse will store configuration:
162161
```bash
163162
mkdir pulse-config
164163
cd pulse-config
165164
```
166-
2. **Create `.env` file:** Create a file named `.env` in this directory and add your Proxmox connection details. See [Configuration](#️-configuration) for details and required permissions. Minimally, you need:
167-
```env
168-
# .env file
169-
PROXMOX_HOST=https://your-proxmox-ip:8006
170-
PROXMOX_TOKEN_ID=your_user@pam!your_token_id
171-
PROXMOX_TOKEN_SECRET=your_secret_uuid_here
172-
# Optional: Set to true if using self-signed certs
173-
# PROXMOX_ALLOW_SELF_SIGNED_CERTS=true
174-
# Optional: Add PBS details if desired
175-
# PBS_HOST=https://your-pbs-ip:8007
176-
# PBS_NODE_NAME=your-pbs-node-hostname # Important! See config docs.
177-
# PBS_TOKEN_ID=pbs_user@pbs!token_id
178-
# PBS_TOKEN_SECRET=pbs_secret_uuid_here
179-
# PBS_ALLOW_SELF_SIGNED_CERTS=true
180-
```
181-
3. **Create `docker-compose.yml` file:** Create a file named `docker-compose.yml` in the same directory with the following content:
165+
2. **Create `docker-compose.yml` file:** Create a file named `docker-compose.yml` in this directory with the following content:
182166
```yaml
183167
# docker-compose.yml
184168
services:
@@ -190,17 +174,15 @@ Visit the [Community Scripts page](https://community-scripts.github.io/ProxmoxVE
190174
# Map host port 7655 to container port 7655
191175
# Change the left side (e.g., "8081:7655") if 7655 is busy on your host
192176
- "7655:7655"
193-
env_file:
194-
- .env # Load environment variables from .env file
195-
# Optional: Uncomment to map a volume for potential future config/log persistence
196-
# volumes:
197-
# - ./data:/data
177+
volumes:
178+
# Mount local directory for persistent configuration
179+
- ./pulse-data:/opt/pulse-proxmox
198180
```
199-
4. **Run:** Start the container:
181+
3. **Run:** Start the container:
200182
```bash
201183
docker compose up -d
202184
```
203-
5. **Access:** Open your browser to `http://<your-docker-host-ip>:7655`.
185+
4. **Access and Configure:** Open your browser to `http://<your-docker-host-ip>:7655` and configure through the web interface.
204186

205187
---
206188

@@ -225,11 +207,9 @@ Visit the [Community Scripts page](https://community-scripts.github.io/ProxmoxVE
225207
```
226208
3. **Follow Prompts:** The script guides you through:
227209
* Installing dependencies (`git`, `curl`, `nodejs`, `npm`, `sudo`).
228-
* Entering your Proxmox Host URL, API Token ID, Secret, and self-signed cert preference.
229-
* (Optional) Entering PBS connection details if desired.
230210
* Setting up Pulse as a `systemd` service (`pulse-monitor.service`).
231211
* Optionally enabling automatic updates via cron.
232-
4. **Access Pulse:** The script will display the URL (e.g., `http://<LXC-IP-ADDRESS>:7655`).
212+
4. **Access and Configure:** The script will display the URL (e.g., `http://<LXC-IP-ADDRESS>:7655`). Open this URL and configure via the web interface.
233213

234214
For update instructions, see the [Updating Pulse](#-updating-pulse) section.
235215

@@ -240,22 +220,31 @@ For update instructions, see the [Updating Pulse](#-updating-pulse) section.
240220
Use this method if you have cloned the repository and want to build and run the application from the local source code.
241221

242222
1. **Get Files:** Clone the repository (`git clone https://github.com/rcourtman/Pulse.git && cd Pulse`)
243-
2. **Copy `.env`:** `cp .env.example .env`
244-
3. **Edit `.env`:** Fill in your primary Proxmox API details (`PROXMOX_HOST`, `PROXMOX_TOKEN_ID`, `PROXMOX_TOKEN_SECRET`). See [Configuration](#️-configuration) for details.
245-
4. **Run:** `docker compose up --build -d` (The included `docker-compose.yml` uses the `build:` context by default).
246-
5. **Access:** Open your browser to `http://localhost:7655` (or your host IP if Docker runs remotely).
223+
2. **Run:** `docker compose up --build -d` (The included `docker-compose.yml` uses the `build:` context by default).
224+
3. **Access and Configure:** Open your browser to `http://localhost:7655` (or your host IP if Docker runs remotely) and configure via the web interface.
247225

248226
## 🛠️ Configuration
249227

250-
### Environment Variables
228+
Pulse features a comprehensive web-based configuration system accessible through the settings menu. No manual file editing required!
251229

252-
Pulse is configured using environment variables, typically set in a `.env` file in the project root.
230+
### Web Interface Configuration (Recommended)
253231

254-
1. **Copy Example File:** If you haven't already, copy the example file:
255-
```bash
256-
cp .env.example .env
257-
```
258-
2. **Edit `.env`:** Open `.env` in a text editor and update the values for your environment(s).
232+
**First-time Setup:**
233+
- Access Pulse at `http://your-host:7655`
234+
- The settings modal will automatically open for initial configuration
235+
- Configure all your Proxmox VE and PBS servers through the intuitive web interface
236+
- Test connections with built-in connectivity verification
237+
- Save and reload configuration without restarting the application
238+
239+
**Ongoing Management:**
240+
- Click the settings icon (⚙️) in the top-right corner anytime
241+
- Add/modify multiple PVE and PBS endpoints
242+
- Configure alert thresholds and service intervals
243+
- All changes are applied immediately
244+
245+
### Environment Variables (Advanced/Development)
246+
247+
For advanced users or development setups, Pulse can also be configured using environment variables in a `.env` file.
259248

260249
#### Proxmox VE (Primary Environment)
261250

@@ -441,17 +430,12 @@ For users who prefer not to use Docker or the LXC script, pre-packaged release t
441430
# This creates a directory like pulse-vX.Y.Z/
442431
cd pulse-vX.Y.Z
443432
```
444-
3. **Configure:** Copy the environment file template and edit it with your details (see [Configuration](#️-configuration)):
445-
```bash
446-
cp .env.example .env
447-
nano .env # Or your preferred editor
448-
```
449-
4. **Run:** Start the application using npm:
433+
3. **Run:** Start the application using npm:
450434
```bash
451435
npm start
452436
```
453437
*(Note: The tarball includes pre-installed production dependencies, so `npm install` is not typically required unless you encounter issues.)*
454-
5. **Access:** Open your browser to `http://<your-server-ip>:7655` (or the port configured in `.env`).
438+
4. **Access and Configure:** Open your browser to `http://<your-server-ip>:7655` and configure via the web interface.
455439

456440
### ️ Running the Application (Node.js - Development)
457441

@@ -534,8 +518,8 @@ To update a tarball installation:
534518
1. Download the latest release from [GitHub Releases](https://github.com/rcourtman/Pulse/releases/latest)
535519
2. Stop the current application
536520
3. Extract the new tarball to a new directory
537-
4. Copy your existing `.env` file to the new directory
538-
5. Start the application: `npm start`
521+
4. Start the application: `npm start`
522+
5. Your configuration will be preserved automatically
539523

540524
### Development/Source Installation
541525

@@ -598,7 +582,7 @@ sudo journalctl -u pulse-monitor.service -f
598582
3. **Check permissions:** Ensure token has `PVEAuditor` role on path `/` with `Propagate` enabled
599583
600584
**"Empty Backups Tab" with PBS configured?**
601-
- Add `PBS_NODE_NAME=your-pbs-hostname` to your `.env` file
585+
- Ensure `PBS Node Name` is configured in the settings modal
602586
- Find hostname with: `ssh root@your-pbs-ip hostname`
603587
604588
**Docker container won't start?**
@@ -642,8 +626,8 @@ Pulse includes a comprehensive built-in diagnostic tool to help troubleshoot con
642626
643627
### Common Issues
644628
645-
* **Empty Backups Tab:** Usually caused by missing `PBS_NODE_NAME` in your configuration. SSH to your PBS server and run `hostname` to find the correct value.
629+
* **Empty Backups Tab:** Usually caused by missing `PBS Node Name` in the settings configuration. SSH to your PBS server and run `hostname` to find the correct value.
646630
* **Pulse Application Logs:** Check container logs (`docker logs pulse_monitor`) or service logs (`sudo journalctl -u pulse-monitor.service -f`) for errors (401 Unauthorized, 403 Forbidden, connection refused, timeout).
647-
* **`.env` Configuration:** Verify `PROXMOX_HOST`, `PROXMOX_TOKEN_ID`, `PROXMOX_TOKEN_SECRET`, and `PROXMOX_ALLOW_SELF_SIGNED_CERTS`. For PBS, also check `PBS_HOST`, `PBS_TOKEN_ID`, `PBS_TOKEN_SECRET`, `PBS_ALLOW_SELF_SIGNED_CERTS`, and especially **`PBS_NODE_NAME`**. Ensure no placeholder values remain.
631+
* **Configuration Issues:** Use the settings modal to verify all connection details. Test connections with the built-in connectivity tester before saving. Ensure no placeholder values remain.
648632
* **Network Connectivity:** Can the machine running Pulse reach the PVE/PBS hostnames/IPs and ports (usually 8006 for PVE, 8007 for PBS)? Check firewalls.
649633
* **API Token Permissions:** Ensure the correct roles (`PVEAuditor` for PVE, `Audit` for PBS) are assigned at the root path (`/`) with `Propagate` enabled in the respective UIs.

0 commit comments

Comments
 (0)