Skip to content

Commit 695232c

Browse files
Amend readme
1 parent 5b11a6b commit 695232c

File tree

2 files changed

+244
-1
lines changed

2 files changed

+244
-1
lines changed

README.md

Lines changed: 243 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,249 @@ The application uses SQLite for storing server configurations:
210210
- **Backup**: Copy `data/settings.db` to backup your server configurations
211211
- **Reset**: Delete `data/settings.db` to reset all server configurations
212212

213+
## 📖 Feature Guide
214+
215+
This section provides detailed information about the application's key features and how to use them effectively.
216+
217+
### Server Settings
218+
219+
Manage your Proxmox VE servers and configure connection settings.
220+
221+
**Adding PVE Servers:**
222+
- **Server Name**: A friendly name to identify your server
223+
- **IP Address**: The IP address or hostname of your PVE server
224+
- **Username**: PVE user account (usually root or a dedicated user)
225+
- **SSH Port**: Default is 22, change if your server uses a different port
226+
227+
**Authentication Types:**
228+
- **Password**: Use username and password authentication
229+
- **SSH Key**: Use SSH key pair for secure authentication
230+
- **Both**: Try SSH key first, fallback to password if needed
231+
232+
**Server Color Coding:**
233+
Assign colors to servers for visual distinction throughout the application. This helps identify which server you're working with when managing scripts. This needs to be enabled in the General Settings.
234+
235+
### General Settings
236+
237+
Configure application preferences and behavior.
238+
239+
**Save Filters:**
240+
When enabled, your script filter preferences (search terms, categories, sorting) will be automatically saved and restored when you return to the application:
241+
- Search queries are preserved
242+
- Selected script types are remembered
243+
- Sort preferences are maintained
244+
- Category selections are saved
245+
246+
**Server Color Coding:**
247+
Enable visual color coding for servers throughout the application. This makes it easier to identify which server you're working with.
248+
249+
**GitHub Integration:**
250+
Add a GitHub Personal Access Token to increase API rate limits and improve performance:
251+
- Bypasses GitHub's rate limiting for unauthenticated requests
252+
- Improves script loading and syncing performance
253+
- Token is stored securely and only used for API calls
254+
255+
**Authentication:**
256+
Secure your application with username and password authentication:
257+
- Set up username and password for app access
258+
- Enable/disable authentication as needed
259+
- Credentials are stored securely
260+
261+
### Sync Button
262+
263+
Synchronize script metadata from the ProxmoxVE GitHub repository.
264+
265+
**What Does Syncing Do?**
266+
- **Updates Script Metadata**: Downloads the latest script information (JSON files)
267+
- **Refreshes Available Scripts**: Updates the list of scripts you can download
268+
- **Updates Categories**: Refreshes script categories and organization
269+
- **Checks for Updates**: Identifies which downloaded scripts have newer versions
270+
271+
**Important Notes:**
272+
- **Metadata Only**: Syncing only updates script information, not the actual script files
273+
- **No Downloads**: Script files are downloaded separately when you choose to install them
274+
- **Last Sync Time**: Shows when the last successful sync occurred
275+
- **Rate Limits**: GitHub API limits may apply without a personal access token
276+
277+
**When to Sync:**
278+
- When you want to see the latest available scripts
279+
- To check for updates to your downloaded scripts
280+
- If you notice scripts are missing or outdated
281+
- After the ProxmoxVE repository has been updated
282+
283+
### Available Scripts
284+
285+
Browse and discover scripts from the ProxmoxVE repository.
286+
287+
**Browsing Scripts:**
288+
- **Category Sidebar**: Filter scripts by category (Storage, Network, Security, etc.)
289+
- **Search**: Find scripts by name or description
290+
- **View Modes**: Switch between card and list view
291+
- **Sorting**: Sort by name or creation date
292+
293+
**Filtering Options:**
294+
- **Script Types**: Filter by CT (Container) or other script types
295+
- **Update Status**: Show only scripts with available updates
296+
- **Search Query**: Search within script names and descriptions
297+
- **Categories**: Filter by specific script categories
298+
299+
**Script Actions:**
300+
- **View Details**: Click on a script to see full information and documentation
301+
- **Download**: Download script files to your local system
302+
- **Install**: Run scripts directly on your PVE servers
303+
- **Preview**: View script content before downloading
304+
305+
### Downloaded Scripts
306+
307+
Manage scripts that have been downloaded to your local system.
308+
309+
**What Are Downloaded Scripts?**
310+
These are scripts that you've downloaded from the repository and are stored locally on your system:
311+
- Script files are stored in your local scripts directory
312+
- You can run these scripts on your PVE servers
313+
- Scripts can be updated when newer versions are available
314+
315+
**Update Detection:**
316+
The system automatically checks if newer versions of your downloaded scripts are available:
317+
- Scripts with updates available are marked with an update indicator
318+
- You can filter to show only scripts with available updates
319+
- Update detection happens when you sync with the repository
320+
321+
**Managing Downloaded Scripts:**
322+
- **Update Scripts**: Download the latest version of a script
323+
- **View Details**: See script information and documentation
324+
- **Install/Run**: Execute scripts on your PVE servers
325+
- **Filter & Search**: Use the same filtering options as Available Scripts
326+
327+
### Installed Scripts
328+
329+
Track and manage scripts that are installed on your PVE servers.
330+
331+
**Auto-Detection (Primary Feature):**
332+
The system can automatically detect LXC containers that have community-script tags on your PVE servers:
333+
- **Automatic Discovery**: Scans your PVE servers for containers with community-script tags
334+
- **Container Detection**: Identifies LXC containers running Proxmox helper scripts
335+
- **Server Association**: Links detected scripts to the specific PVE server
336+
- **Bulk Import**: Automatically creates records for all detected scripts
337+
338+
**How Auto-Detection Works:**
339+
1. Connects to your configured PVE servers
340+
2. Scans LXC container configurations
341+
3. Looks for containers with community-script tags
342+
4. Creates installed script records automatically
343+
344+
**Manual Script Management:**
345+
- **Add Scripts Manually**: Create records for scripts not auto-detected
346+
- **Edit Script Details**: Update script names and container IDs
347+
- **Delete Scripts**: Remove scripts from tracking
348+
- **Bulk Operations**: Clean up old or invalid script records
349+
350+
**Script Tracking Features:**
351+
- **Installation Status**: Track success, failure, or in-progress installations
352+
- **Server Association**: Know which server each script is installed on
353+
- **Container ID**: Link scripts to specific LXC containers
354+
- **Web UI Access**: Track and access Web UI IP addresses and ports
355+
- **Execution Logs**: View output and logs from script installations
356+
- **Filtering**: Filter by server, status, or search terms
357+
358+
**Managing Installed Scripts:**
359+
- **View All Scripts**: See all tracked scripts across all servers
360+
- **Filter by Server**: Show scripts for a specific PVE server
361+
- **Filter by Status**: Show successful, failed, or in-progress installations
362+
- **Sort Options**: Sort by name, container ID, server, status, or date
363+
- **Update Scripts**: Re-run or update existing script installations
364+
365+
**Web UI Access:**
366+
Automatically detect and access Web UI interfaces for your installed scripts:
367+
- **Auto-Detection**: Automatically detects Web UI URLs from script installation output
368+
- **IP & Port Tracking**: Stores and displays Web UI IP addresses and ports
369+
- **One-Click Access**: Click IP:port to open Web UI in new tab
370+
- **Manual Detection**: Re-detect IP using `hostname -I` inside container
371+
- **Port Detection**: Uses script metadata to get correct port (e.g., actualbudget:5006)
372+
- **Editable Fields**: Manually edit IP and port values as needed
373+
374+
**Actions Dropdown:**
375+
Clean interface with all actions organized in a dropdown menu:
376+
- **Edit Button**: Always visible for quick script editing
377+
- **Actions Dropdown**: Contains Update, Shell, Open UI, Start/Stop, Destroy, Delete
378+
- **Smart Visibility**: Dropdown only appears when actions are available
379+
- **Auto-Close**: Dropdown closes after clicking any action
380+
- **Disabled States**: Actions are disabled when container is stopped
381+
382+
**Container Control:**
383+
Directly control LXC containers from the installed scripts page via SSH:
384+
- **Start/Stop Button**: Control container state with `pct start/stop <ID>`
385+
- **Container Status**: Real-time status indicator (running/stopped/unknown)
386+
- **Destroy Button**: Permanently remove LXC container with `pct destroy <ID>`
387+
- **Confirmation Modals**: Simple OK/Cancel for start/stop, type container ID to confirm destroy
388+
- **SSH Execution**: All commands executed remotely via configured SSH connections
389+
390+
**Safety Features:**
391+
- Start/Stop actions require simple confirmation
392+
- Destroy action requires typing the container ID to confirm
393+
- All actions show loading states and error handling
394+
- Only works with SSH scripts that have valid container IDs
395+
396+
### Update System
397+
398+
Keep your PVE Scripts Management application up to date with the latest features and improvements.
399+
400+
**What Does Updating Do?**
401+
- **Downloads Latest Version**: Fetches the newest release from the GitHub repository
402+
- **Updates Application Files**: Replaces current files with the latest version
403+
- **Installs Dependencies**: Updates Node.js packages and dependencies
404+
- **Rebuilds Application**: Compiles the application with latest changes
405+
- **Restarts Server**: Automatically restarts the application server
406+
407+
**How to Update:**
408+
409+
**Automatic Update (Recommended):**
410+
- Click the "Update Now" button when an update is available
411+
- The system will handle everything automatically
412+
- You'll see a progress overlay with update logs
413+
- The page will reload automatically when complete
414+
415+
**Manual Update (Advanced):**
416+
If automatic update fails, you can update manually:
417+
```bash
418+
# Navigate to the application directory
419+
cd $PVESCRIPTLOCAL_DIR
420+
421+
# Pull latest changes
422+
git pull
423+
424+
# Install dependencies
425+
npm install
426+
427+
# Build the application
428+
npm run build
429+
430+
# Start the application
431+
npm start
432+
```
433+
434+
**Update Process:**
435+
1. **Check for Updates**: System automatically checks GitHub for new releases
436+
2. **Download Update**: Downloads the latest release files
437+
3. **Backup Current Version**: Creates backup of current installation
438+
4. **Install New Version**: Replaces files and updates dependencies
439+
5. **Build Application**: Compiles the updated code
440+
6. **Restart Server**: Stops old server and starts new version
441+
7. **Reload Page**: Automatically refreshes the browser
442+
443+
**Release Notes:**
444+
Click the external link icon next to the update button to view detailed release notes on GitHub:
445+
- See what's new in each version
446+
- Read about bug fixes and improvements
447+
- Check for any breaking changes
448+
- View installation requirements
449+
450+
**Important Notes:**
451+
- **Backup**: Your data and settings are preserved during updates
452+
- **Downtime**: Brief downtime occurs during the update process
453+
- **Compatibility**: Updates maintain backward compatibility with your data
454+
- **Rollback**: If issues occur, you can manually revert to previous version
455+
213456
## 📁 Project Structure
214457

215458
```

src/app/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ export default function Home() {
147147
{/* Header */}
148148
<div className="text-center mb-6 sm:mb-8">
149149
<h1 className="text-2xl sm:text-3xl lg:text-4xl font-bold text-foreground mb-2 flex items-center justify-center gap-2 sm:gap-3">
150-
<Rocket className="h-6 w-6 sm:h-8 w-8 lg:h-9 lg:w-9" />
150+
151151
<span className="break-words">PVE Scripts Management</span>
152152
</h1>
153153
<p className="text-sm sm:text-base text-muted-foreground mb-4 px-2">

0 commit comments

Comments
 (0)